QT学习(一)

想要先学习QT,必须掌握好C++中的类的相关概念。

QT学习(一)

 

还是和其他的语言学习一样,先来学习第一个程序,Hello QT!。

直接上代码:

 

[cpp] view plaincopy
 
  1. <span style="font-size:18px;">#include "helloqt.h"  
  2. #include <QtGui/QApplication>  
  3. #include <QLabel>  
  4.   
  5. int main(int argc, char *argv[])  
  6. {  
  7.     QApplication a(argc, argv);  
  8.     QLabel *label=new QLabel("Hello QT!");  
  9.     label->show();  
  10.     return a.exec();  
  11. }</span>  


很简单,记着要加载Label的库就行。

 

下面我们在这个上面稍微的做一点文章,理解QT中的布局管理器。

 

[cpp] view plaincopy
 
  1. <span style="font-size:18px;">#include "helloqt.h"  
  2. #include <QtGui/QApplication>  
  3. #include <QLabel>  
  4. #include <QHBoxLayout>  
  5.   
  6. int main(int argc, char *argv[])  
  7. {  
  8.     QApplication a(argc, argv);  
  9.         QWidget *window=new QWidget();  
  10.     window->setWindowTitle("你好!!");  
  11.     QHBoxLayout *layout=new QHBoxLayout();  
  12.     QLabel *label=new QLabel("Hello QT!");  
  13.     QLabel *label1=new QLabel("页面布局");  
  14.         layout->addWidget(label);  
  15.     layout->addWidget(label1);  
  16.     window->setLayout(layout);  
  17.     window->show();  
  18.     return a.exec();  
  19. }  
  20. </span>  

运行的结果汉字会出现乱码。

布局管理器有几种形式,QHBoxLayout:水平排列控件。QVBoxLayout:垂直排列控件。QGridLayout:按矩阵方式排列控件。

gridLayout->addWidget(colorPushBtn, 0, 0, 1, 1);
gridLayout->addWidget(errorPushBtn, 0, 1, 1, 1);
gridLayout->addWidget(filePushBtn, 0, 2, 1, 1);
gridLayout->addWidget(fontPushBtn, 1, 0, 1, 1);

矩阵布局器可以通过以上的形式进行布局。

 

一下是改变编码,显示汉字的代码。

 

[cpp] view plaincopy
 
  1. <span style="font-size:18px;">#include "helloqt.h"  
  2. #include <QtGui/QApplication>  
  3. #include <QLabel>  
  4. #include <QHBoxLayout>//头文件  
  5. #include <QtCore/QTextCodec>//头文件  
  6.   
  7. int main(int argc, char *argv[])  
  8. {  
  9.     QApplication a(argc, argv);  
  10.     QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));//系统默认unicode编码,必须进行编码的转换。  
  11.         QWidget *window=new QWidget();  
  12.     window->setWindowTitle(QObject::tr("你好!!"));  
  13.     QHBoxLayout *layout=new QHBoxLayout();  
  14.     QLabel *label=new QLabel(QObject::tr("Hello QT!"));  
  15.     QLabel *label1=new QLabel(QObject::tr("页面布局"));  
  16.         layout->addWidget(label);  
  17.     layout->addWidget(label1);  
  18.     window->setLayout(layout);  
  19.     window->show();  
  20.     return a.exec();  
  21. }  
  22. </span>  

以下提供QT的空间类型:

 

按钮控件:


单页容器控件


多页容器控件


反馈对话框


输入控件


文件和打印对话框


显示控件


向导对话框


项目查看控件


颜色和字体对话框


第一章就这些,下一章QT中的信号槽机制。

posted on 2014-02-20 21:59  春阳CYang  阅读(226)  评论(0编辑  收藏  举报

导航