QT高级编程
主要从以下几个方面来介绍QT高级编程,并介绍QT相关的概念。
1、 QT部件Widget; 2、 QT信号与槽机制; 3、 对象树关系; 4、 布局管理; 5、标准对话框以及自定义对话框; 6、文件与目录; 7、数据库编程; 8、级联样式表; 9、事件与绘画; 10、二维图形; 11、网络; 12、Webkit Web 开发; 13、进程与线程; 14、跨平台; 15、模型与视图; 16、音频与多媒体; 17、其他
一.介绍
- Qt是一个跨平台的C++图形用户界面应用程序开发框架。
- Qt类结构框架图,掌握主要的类的使用,QTabWidget、QLabel、QTextEdit(多行)、QLineEdit、QBushiButton、QGroupBox、QTableWidget(表格)、QCheckBox(复选框)、QRadioButton(单选按钮)。QHBoxLayout(水平布局),QVBoxLayout(垂直布局);
- 通过Qt Creator中的帮助可以查看开发文档,通过设置索引、目录等可以搜索查看相关类的使用。
- 在通过Qt Creator创建工程时,注意工程路径为全英文路径,避免中文路径。
二、案例 1.通过Qt编程实现如下窗口。 2.源代码及其编译运行
#include <QApplication>
#include<QLineEdit>
#include<QPushButton>
#include<QLabel>
#include<QWidget>
#include<QHBoxLayout>
#include<QVBoxLayout>
int main(int argc,char**argv)
{
QApplication app(argc,argv);
QLabel *value = new QLabel;
value->setText("Window will open the corresponding program, folder, document or\n"
"Internet resource for you according to the name you entered.");
QLabel *cmd = new QLabel;
cmd->setText("Open(O):");
QLineEdit *lineEdit = new QLineEdit;
lineEdit->clear();
QPushButton *submit = new QPushButton;
submit->setText("Ok");
QPushButton *cancel = new QPushButton;
cancel->setText("Cancel");
QPushButton *browser = new QPushButton;
browser->setText("Browser");
QHBoxLayout *cmdLayout = new QHBoxLayout;
cmdLayout->addWidget(cmd);
cmdLayout->addWidget(lineEdit);
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(submit);
buttonLayout->addWidget(cancel);
buttonLayout->addWidget(browser);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(value);
mainLayout->addLayout(cmdLayout);
mainLayout->addLayout(buttonLayout);
QWidget *window = new QWidget;
window->setLayout(mainLayout);
window->setWindowTitle("Run");
window->show();
return app.exec();
}
打开Qt Creator中的MinGW命令窗口,并进入到源码所在目录,通过如下命令生成.pro文件。
qmake -projec
执行qmake生成makefile文件。
qmake
通过如下命令编译连接生成可执行文件。
mingw32-make
3.可能遇到的问题: QApplication: No such file or directory:由于Qt5将大部分桌面部件移到了Qt Widgets模块中,即QApplication已经从原来的<QtGui/QApplication>移动到<QtWidgets/QApplication>;
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
问题解决:https://blog.csdn.net/friendbkf/article/details/45440175
4.运行结果:如下是通过Qt Creator打开.pro工程,执行的结果。 5.qmake使用 https://www.cnblogs.com/xiangtingshen/p/12095924.html
|