在装好的linux系统下第一次进行了GUI编程,使用的是Qt框架,只是实现了简单的几个控件,不过个人觉得效果挺好的。
实现了显示label,button,spin和slider结合。主要还是了解了这个概念--信号和槽。学习中.....
本来以为编译不会成功,出人意料的是一次性通过:
1. 生成Qt pro文件 : qmake -project
2. 编译工程文件生成 make文件 : qmake -helloqt.cpp
3. make : make
4. 运行 . /helloqt
感觉还是挺好用的,不过还没有安装相关文档,所以现在所做的只能是做一点知道一点了。还是先把文档安装上,即用即查!
实现了显示label,button,spin和slider结合。主要还是了解了这个概念--信号和槽。学习中.....
- #include<qapplication.h> //应用框架
- #include<qlabel.h> //label头文件
- #include<qpushbutton.h> //button头文件
- #include<qhbox.h> //box
- #include<qslider.h> //slider
- #include<qspinbox.h> //spin
- int main(int argc,char *argv[])
- {
- QApplication app(argc,argv);
- //label
- QLabel *pLabel = new QLabel("hello Qt!",0);//这里内容可以使用HTML格式例如:
- //QLabel *pLabel = new QLabel("<h2><i>Hello</i> <font color = red >Qt</font>!</h2>,0);
- app.setMainWidget(pLabel);
- pLabel->show();
- //button
- QPushButton* pButton = new QPushButton("Quit",0);
- //我认为有点像子类化的感觉,就是将响应和事件绑定
- QObject::connect(pButton,SIGNAL(clicked()),&app,SLOT(quit()));
- app.setMainWidget(pButton);
- pButton->show();
- //hbox spinbox slider
- //hbox
- QHBox *pHBox = new QHBox(0);
- pHBox->setCaption("Entering your ages:");
- //设定显示格式
- pHBox->setMargin(6);
- pHBox->setSpacing(6);
- //spinbox slider
- QSpinBox *pSpin = new QSpinBox(pHBox);
- QSlider *pSlider = new QSlider(Qt::Horizontal,pHBox);
- pSpin->setRange(0,330);
- pSlider->setRange(0,130);
- //信号和槽
- QObject::connect(pSpin,SIGNAL(valueChanged(int)),pSlider,SLOT(setValue(int)));
- QObject::connect(pSlider,SIGNAL(valueChanged(int)),pSpin,SLOT(setValue(int)));
- app.setMainWidget(pHBox);
- pHBox->show();
- return app.exec();
- }
- //效果见附图,抓于Mandriva系统下
本来以为编译不会成功,出人意料的是一次性通过:
1. 生成Qt pro文件 : qmake -project
2. 编译工程文件生成 make文件 : qmake -helloqt.cpp
3. make : make
4. 运行 . /helloqt
感觉还是挺好用的,不过还没有安装相关文档,所以现在所做的只能是做一点知道一点了。还是先把文档安装上,即用即查!