想要先学习QT,必须掌握好C++中的类的相关概念。
QT学习(一)
还是和其他的语言学习一样,先来学习第一个程序,Hello QT!。
直接上代码:
- <span style="font-size:18px;">#include "helloqt.h"
- #include <QtGui/QApplication>
- #include <QLabel>
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QLabel *label=new QLabel("Hello QT!");
- label->show();
- return a.exec();
- }</span>
很简单,记着要加载Label的库就行。
下面我们在这个上面稍微的做一点文章,理解QT中的布局管理器。
- <span style="font-size:18px;">#include "helloqt.h"
- #include <QtGui/QApplication>
- #include <QLabel>
- #include <QHBoxLayout>
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QWidget *window=new QWidget();
- window->setWindowTitle("你好!!");
- QHBoxLayout *layout=new QHBoxLayout();
- QLabel *label=new QLabel("Hello QT!");
- QLabel *label1=new QLabel("页面布局");
- layout->addWidget(label);
- layout->addWidget(label1);
- window->setLayout(layout);
- window->show();
- return a.exec();
- }
- </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);
矩阵布局器可以通过以上的形式进行布局。
一下是改变编码,显示汉字的代码。
- <span style="font-size:18px;">#include "helloqt.h"
- #include <QtGui/QApplication>
- #include <QLabel>
- #include <QHBoxLayout>//头文件
- #include <QtCore/QTextCodec>//头文件
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
- QWidget *window=new QWidget();
- window->setWindowTitle(QObject::tr("你好!!"));
- QHBoxLayout *layout=new QHBoxLayout();
- QLabel *label=new QLabel(QObject::tr("Hello QT!"));
- QLabel *label1=new QLabel(QObject::tr("页面布局"));
- layout->addWidget(label);
- layout->addWidget(label1);
- window->setLayout(layout);
- window->show();
- return a.exec();
- }
- </span>
以下提供QT的空间类型:
按钮控件:

单页容器控件

多页容器控件

反馈对话框

输入控件

文件和打印对话框

显示控件

向导对话框

项目查看控件

颜色和字体对话框

第一章就这些,下一章QT中的信号槽机制。
QT学习(一)
原文:http://www.cnblogs.com/BSilence/p/3558469.html