初级会员
- 积分
- 75
- 金钱
- 75
- 注册时间
- 2016-6-30
- 在线时间
- 10 小时
|
我的最终目标是实现一个串口上位机。 现在的时间是2016年7月3号23:34。开写!
1.QT族谱继承图
可以在下面的链接中下载到。
http://download.csdn.net/detail/u011348999/6890891
2.介绍一些常见的QT类
见附件“常见的QT类”
3.布局
QT的布局有两种:水平布局(QHBoxLayout)、垂直布局(QVBoxLayout)。
4.手动敲一个“运行”
在Win7中使用快捷键“Win+R”可以打开“运行”。现在,我们手动敲一个类似于这个的程序。
做出来的效果如图:
代码:
[mw_shl_code=cpp,true]
#include "widget.h"
#include <QApplication>
#include <QLineEdit>
#include <QLabel>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//声明一个类对象指针,区别于类对象变量
QLabel *infoLabel = new QLabel;
QLabel *cmdLabel = new QLabel;
QLineEdit * lineEdit = new QLineEdit;
QPushButton *submitButton = new QPushButton;
QPushButton *cancelButton = new QPushButton;
QPushButton *browserButton = new QPushButton;
//通过类对象指针调用public属性函数,给类的私有成员赋初值
infoLabel->setText("please input cmd:");
cmdLabel->setText("Open:");
submitButton->setText("Submit");
cancelButton->setText("Cancel");
browserButton->setText("Browser");
lineEdit->clear();
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(submitButton);
buttonLayout->addWidget(browserButton);
buttonLayout->addWidget(cancelButton);
QHBoxLayout *cmdLayout = new QHBoxLayout;
cmdLayout->addWidget(cmdLabel);
cmdLayout->addWidget(lineEdit);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(infoLabel);
mainLayout->addLayout(cmdLayout);
mainLayout->addLayout(buttonLayout);
QWidget *window = new QWidget;
window->setLayout(mainLayout);
window->setWindowTitle("Run..");
window->show();
return a.exec();
}
[/mw_shl_code]
5.手工布局
见附件--手工布局制作“运行”界面
====================
C++加油站
1.继承。
这里主要讲单基继承中的public继承,基类的public属性的成员和函数可以被派生类调用。
先来一条”公式“。巧记:儿子(class 派生类名)的样子(: 派生方式) 像父亲(基类名)
class 派生类名:派生方式 基类名
{
private:
新增加的成员及函数
public:
新增加的成员及函数
}
例子:
[mw_shl_code=cpp,true]
#include "stdafx.h"
#include <iostream>
using namespace std;
//基类
class point{
private:
int x;
int y;
public:
void setCoorVal(int a, int b)
{
x = a;
y = b;
}
int getCoorX()
{
return x;
}
int getCoorY()
{
return y;
}
};
//派生类
//class 派生类 :派生方式 基类
class point3D :public point
{
private:
int z;
public:
void setCoorZ(int c)
{
z = c;
}
int getCoorZ()
{
return z;
}
void printCoorVal()
{ //派生类调用从基类继承的函数getCoorX()、getCoorY()
cout << "x、y、z = " << getCoorX() << "、" << getCoorY() << "、" << getCoorZ() << endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
int xVal, yVal;
point3D *myPoint3D = new point3D;
myPoint3D->setCoorZ(300);
//派生类调用从基类继承的函数setCoorVal()
myPoint3D->setCoorVal(100, 200);
myPoint3D->printCoorVal();
while (1);
return 0;
}
[/mw_shl_code]
完成时间:20160706 0:16
|
|