QT源程序与编译方式
来源:互联网 发布:机器人运动仿真软件 编辑:程序博客网 时间:2024/05/17 01:38
1 源程序
(1)纯代码
在QT Creator中创建一个Empty qmake project,然后*.pro文件中添加widget模块的语句如下:
greaterThan(QT_MAJOR_VERSION,4):QT += widgets然后添加一个main.cpp
#include <QApplication>#include <QDialog>#include <QLabel>int main(int argc, char * argv[]){ QApplication a(argc, argv); QDialog w; w.resize(400, 300);//改变对话框大小 QLabel label(&w); label.move(120,120); label.setText(QObject::tr("Hello World! 你好!")); w.show(); return a.exec();}工程的结构如图所示
运行结果如图所示
(2)使用ui文件(利用QT设计师)
创建ui文件,使用ui界面替代有代码生成的界面。
ui界面如图所示
通过Crtl+Shift+B快捷键或者构建项目命令,构建工程,产生基于该ui文件的头文件。随后修改main.cpp文件如下
(3) 自定义C++类
自定义类也可以看到QT Creator中的设计师界面类的生成过程。
新建Empty qmake Project,然后再pro文件中添加如下语句:
greaterThan(QT_MAJOR_VERSION,4):QT += widgets新建一个基于QDialog的类HelloDialog
main.cpp代码如下:
#include <QApplication.h>#include "hellodialog.h"int main(int argc, char * argv[]){ QApplication a(argc, argv); HelloDialog w; w.show(); return a.exec();}hellodialog.h的代码如下:
#ifndef HELLODIALOG_H#define HELLODIALOG_H#include <QDialog.h>namespace Ui{class HelloDialog;}class HelloDialog : public QDialog{ Q_OBJECT;public: explicit HelloDialog(QWidget *parent = 0); ~HelloDialog();private: Ui::HelloDialog *ui;};#endif // HELLODIALOG_Hhellodialog.c的代码如下:
#include "hellodialog.h"#include "ui_hellodialog.h"HelloDialog::HelloDialog(QWidget *parent): QDialog(parent), ui(new Ui::HelloDialog){ //ui = new Ui::HelloDialog; ui->setupUi(this);}HelloDialog::~HelloDialog(){ delete ui;}界面类的设置与(2)中相同,运行结果如下:
(4)QT设计师界面类
创建Qt Widgets Application工程,自动完成(3)中的操作,即Qt 设计师界面类的设置。
2 命令行编译过程
在Qt Creator中,自动完成编译之前的准备工作和编译工作,了解编译过程可以更好的了解Qt的运行机制。
第一步,将所有的ui文件,C文件,头文件拷贝的一个工程目录下
第二部,如果ui文件,则执行改步骤,使ui文件构造成头文件;否则跳过。
uic -o ui_hellodialog.h ui_hellodialog.ui第三部,编译工程文件qro。如果需要一个模块,如widget麽魁岸,则执行该步骤后添加
qmake -project第四步,生成make文件
qmake第五部,编译,在window下不许确保WinGW工具已经安装。
window下命令
mingw32 -makelinux下命令
make
阅读全文
0 0
- QT源程序与编译方式
- 命令行编译Qt源程序
- Java 源程序与编译型运行区别
- Qt编译运行方式
- Qt--编译与安装
- day03 LED灯源程序编写与编译、UART原理
- LED灯源程序编写与编译、UART原理
- 出错的qt源程序
- 命令行编译c#源程序
- Java命令行编译源程序
- 源程序的编译过程
- 课程设计:源程序编译
- NANOPI2 编译QT+sqlite 问题解决方式
- Qt 中有两种方式编译MinGW和MSVC
- 编译与配置QT.txt
- Qt交叉编译与移植
- Qt交叉编译与移植
- Qt交叉编译与移植
- 【七日牧函】来一场爱心大冒险
- python的web开发框架django学习笔记
- 排序--折半插入排序
- BANANAPI 修改启动直接进入系统
- FAQ停用词表
- QT源程序与编译方式
- Java使用Condition唤醒指定线程
- Wayland issues Fedora 25
- soapUI工具使用方法、简介、接口测试
- NFC和RFID的区别
- 设计模式(一):单例模式
- 使用bind标签创建变量
- 挑7
- 读写properties文件属性