1.6.Qt .cpp/.h/.ui/.pro内容详解
来源:互联网 发布:wifi网络测试 编辑:程序博客网 时间:2024/06/03 20:30
Qt文件内容讲解(helloworld)
main.cpp文件
#include"widget.h"
#include<QApplication>
intmain(int argc, char *argv[])
{
QApplication a(argc, argv);//两个参数用于在命令行传递过来的参数
//作用:用于管理GUI应用程序的控制流和主要设置,主要用于处理部件的初始化和结尾操作,Qt图形界面用于必须创建一个QApplication对象,QApplication对象有一个全局的指针qApp,在项目的任何地方都可以直接使用该指针来应用该类中的方法。
Widget w;//要显示的窗口,创建对象之后默认是隐藏的
w.show(); //调用show函数显示窗口
return a.exec(); //进入主事件循环,直到调用exit函数,必须调用该函数启动事件处理,主事件循环会从窗口系统接收事件,并将其传递到应用程序部件中,一般在调用该函数之前,我们无法与程序进行交换,特例:模态的对话框窗口,它可以调用自己的exec函数。
}
widget.h文件
#ifndefWIDGET_H //预处理指令,避免该头文件多重包含
#defineWIDGET_H
#include<QWidget>
namespaceUi {
classWidget; //前置声明一个Widget类,与下面Widget类同名,使用了命名空间避免命名冲突
}
classWidget : public QWidget
{
Q_OBJECT //调用Q_OBJECT宏,必须在类定义的开始定义宏,才是使用Qt中的特殊功能,比如信号和槽
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui; //通过该指针可以访问设计模式在添加到界面中的部件
};
#endif// WIDGET_H
widget.cpp文件
#include"widget.h"
#include"ui_widget.h"
Widget::Widget(QWidget*parent) :
QWidget(parent),
ui(new Ui::Widget) //构造函数初始化操作,将从构造函数传递过来的parent指针,直接传递给QWidget,这样确保实现QWidget的默认操作,初始化了ui指针。
{
ui->setupUi(this) ; //setupUi函数,该函数是界面文件生成类中的函数,只有调用该函数才能把设计模式设计的界面应用到自定的Widget类中
}
Widget::~Widget()
{
delete ui;
}
ui_widget.h文件
#ifndefUI_WIDGET_H
#defineUI_WIDGET_H
#include<QtCore/QVariant>
#include<QtWidgets/QAction>
#include<QtWidgets/QApplication>
#include<QtWidgets/QButtonGroup>
#include<QtWidgets/QHeaderView>
#include<QtWidgets/QLabel>
#include<QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
classUi_Widget //由ui文件生成的类
{
public:
QLabel *label;
void setupUi(QWidget *Widget)
{
if (Widget->objectName().isEmpty())
Widget->setObjectName(QStringLiteral("Widget"));
Widget->resize(400, 300);
label = new QLabel(Widget);
label->setObjectName(QStringLiteral("label"));
label->setGeometry(QRect(170, 110,221, 91));
retranslateUi(Widget);
QMetaObject::connectSlotsByName(Widget); //实现信号与槽的自动关联
} // setupUi
void retranslateUi(QWidget *Widget) //实现对字符串的编码转换
{
Widget->setWindowTitle(QApplication::translate("Widget","Widget", Q_NULLPTR));
label->setText(QApplication::translate("Widget","Hello World!", Q_NULLPTR));
} // retranslateUi
};
namespaceUi {
class Widget: public Ui_Widget {}; //使这里生成的类与创建类同名,使用了命名空间
}// namespace Ui
QT_END_NAMESPACE
#endif// UI_WIDGET_H
helloworld.pro项目文件
QT += core gui //与下行相同,预示项目中要使用到的模块,core模块包含了Qt的核心功能,所有的Qt程序必须包含该模块。gui模块提供了窗口系统集成,事件处理,opengl基本的图像字体文本等功能,在图形界面中必须包含该模块
greaterThan(QT_MAJOR_VERSION,4): QT += widgets //当Qt版本大于4时,才使用该模块,在Qt4时代所有的图形界面类都包含在GUI模块中,到Qt5所有图形界面类都包含在widgets模块中,使用图形界面必须包含该模块。
TARGET= helloworld //设置生成目标文件名称,即.exe文件名称,默认是项目名称
TEMPLATE= app //设置模板类型,app表明项目是一个应用程序
DEFINES+= QT_DEPRECATED_WARNINGS //如果使用Qt中被标记为废弃的功能,编译时将发出警告
SOURCES+= main.cpp\ //源文件
widget.cpp
HEADERS += widget.h //头文件
FORMS += widget.ui //界面文件
RC_ICONS= cartoon.ico //图标文件
- 1.6.Qt .cpp/.h/.ui/.pro内容详解
- QT如何将.UI文件转成.h或.cpp文件
- QT UI文件生成.h .cpp 的方法
- QT如何将.UI文件转成.h或.cpp文件
- qt 将.ui文件生成.h或.cpp文件
- Qt 为.h和.cpp文件添加ui文件
- Qt Creator 中,如何更改h,cpp,ui的文件并不让ui失效
- QT Ui生成.h
- QT中将.ui文件转换成.h和.cpp文件(windows)
- 转:QT如何将.UI文件转成.h或.cpp文件
- Qt由ui文件生成.h和.cpp文件的方法
- Qt由ui文件生成.h和.cpp文件的方法
- 转:QT如何将.UI文件转成.h或.cpp文件
- Qt .pro文件 详解
- Qt .pro文件 详解
- Qt .pro文件 详解
- Qt,pro文件详解
- Qt pro 文件详解
- 前端模块化 require js
- ORA-39002,ORA-39070,ORA-29283, ORA-06512,ORA-29283解决办法
- 国庆清北刷题冲刺班 Day3 下午
- javascript插入before(),after()新DOM方法
- android opencv抠图
- 1.6.Qt .cpp/.h/.ui/.pro内容详解
- Linux下把在特定路径下执行的命令转变成任何目录都可以执行的问题
- Js学习之路八 --- 延时提示框
- 人民币兑美元料宽幅震荡
- netstat无法显示PID或进程名
- logstash-input-jdbc插件配置细节
- java获取本机IP,系统随机分配端口号,获取当前线程ID
- jsp页面引入(引入其他jsp页面)三种方式
- JS —— 跨域问题全解与jsonp 原理理解