博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT学习(一)
阅读量:5020 次
发布时间:2019-06-12

本文共 1991 字,大约阅读时间需要 6 分钟。

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

QT学习(一)

 

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

直接上代码:

 

[cpp] 
 
  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] 
 
  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] 
 
  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中的信号槽机制。

转载于:https://www.cnblogs.com/BSilence/p/3558469.html

你可能感兴趣的文章
【转】常用的latex宏包
查看>>
[TMS320C674x] 一、GPIO认识
查看>>
酷狗的皮肤文件存放在哪
查看>>
iOS RunLoop简介
查看>>
C++的引用
查看>>
T-SQL查询进阶--深入浅出视图
查看>>
MapKeyboard 键盘按键映射 机械革命S1 Pro-02
查看>>
Android读取url图片保存及文件读取
查看>>
完整ASP.Net Excel导入
查看>>
判断CPU大小端示例代码
查看>>
ARTS打卡第13周
查看>>
循环队列的运用---求K阶斐波那契序列
查看>>
pta 编程题14 Huffman Codes
查看>>
初始化bootstrap treeview树节点
查看>>
python selenium向<sapn>标签中写入内容
查看>>
JS常用坐标
查看>>
使用”结构化的思考方式“来编码和使用”流程化的思考方式“来编码,孰优孰劣?...
查看>>
C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】...
查看>>
关于git的认证方式
查看>>
字符串按照字典序排列
查看>>