想要先学习QT,必须掌握好C++中的类的相关概念。
QT学习(一)
还是和其他的语言学习一样,先来学习第一个程序,Hello QT!。
直接上代码:
#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();
}
很简单,记着要加载Label的库就行。
下面我们在这个上面稍微的做一点文章,理解QT中的布局管理器。
#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();
}
运行的结果汉字会出现乱码。
布局管理器有几种形式,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);
矩阵布局器可以通过以上的形式进行布局。
一下是改变编码,显示汉字的代码。
#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();
}
以下提供QT的空间类型:
按钮控件:
单页容器控件
多页容器控件
反馈对话框
输入控件
文件和打印对话框
显示控件
向导对话框
项目查看控件
颜色和字体对话框
第一章就这些,下一章QT中的信号槽机制。