想要先学习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>
下面我们在这个上面稍微的做一点文章,理解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"));//系统默认unicode编码,必须进行编码的转换。
- 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中的信号槽机制。