Qt Creator 使用教程

本文介绍了如何使用Qt Creator创建一个基本的Qt Widgets Application,包括选择项目模板、设置项目位置、构建套件的选择以及MainWindow的使用。在生成的代码中,详细解释了`mainwindow.h`、`main.cpp`和`mainwindow.cpp`的作用,特别是如何通过信号与槽机制实现窗口关闭功能。此外,还展示了如何通过UI设计界面添加退出按钮并连接到关闭函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 创建项目:New Project

    2 选择模板:应用程序>>Qt Widgets Application>>选择

    3 项目位置:设置项目名称>>选择项目位置>>下一步

    4 构建套件:直接下一步

    5 详情:在基类中有三种类型。很显然MainWindow是最大的一个,那么不管什么程序,直接选择MainWindow就好了,没必要在用什么Widget 或者 Dialog当基类。

    6 汇总:单击完成

    这样就创建了一个名为 Sample_Hello_World 的项目了。项目创建好了之后,软件会自动生成必要的一些代码。

    在左侧的项目列表中有四个文件:mainwindow.h/main.cpp/mainwindow.cpp/mainwindow.ui

    mainwindow.h内容如下:

复制代码

 1 #ifndef MAINWINDOW_H
 2 #define MAINWINDOW_H
 3 
 4 #include <QMainWindow>
 5 
 6 namespace Ui {
 7 class MainWindow;
 8 }
 9 
10 class MainWindow : public QMainWindow
11 {
12     Q_OBJECT
13 
14 public:
15     explicit MainWindow(QWidget *parent = 0);
16     ~MainWindow();
17 
18 private:
19     Ui::MainWindow *ui;
20 };
21 
22 #endif // MAINWINDOW_H

复制代码

    使用时需要在public和private中间添加provate slots类成员函数:

1 private slots:
2     // ...

    main.cpp内容如下:

复制代码

 1 #include "mainwindow.h"
 2 #include <QApplication>
 3 
 4 int main(int argc, char *argv[])
 5 {
 6     QApplication a(argc, argv);
 7     MainWindow w;
 8     w.show();
 9 
10     return a.exec();
11 }

复制代码

    第1和第2行是头文件包含,其中QApplication是包含了类Application定义的头文件。相应的有QWidget、QDialog等头文件。

    第6行创建了一个QApplication对象,第7行新建了一个主窗口(MainWindow)部件“w”,第8行调用内建函数显示窗口部件。而第10行则相当于Windows API中的消息循环,用于处理窗口中的“消息”与“动作”。  

    mainwindow.cpp的内容如下:

复制代码

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 
 4 MainWindow::MainWindow(QWidget *parent) :
 5     QMainWindow(parent),
 6     ui(new Ui::MainWindow)
 7 {
 8     ui->setupUi(this);
 9 }
10 
11 MainWindow::~MainWindow()
12 {
13     delete ui;
14 }

复制代码

    Qt中的“信号(SIGNAL)”和“槽(SLOT)”机制主要在这部分实现。槽函数需要在mainwindow.h中的private slots中进行函数原型说明,而信号和槽的连接放在第8行的下面。而槽函数的实现即函数体,则是放在第14行后面,即析构函数的后面。

    mainwindow.ui是一个图形设计界面:

    你可以从左侧拉入一些空间和部件放在窗口中,在右侧设置相应的属性。然后通过将部件与函数连接,实现信号与槽的连接。    

    可以直接单击界面右下角绿色三角形执行按钮,软件会编译运行当前的源程序。

     下面是如何简单的添加一个退出按键,并与相应的函数连接。

    首先在UI设计窗口中的左侧Buttom>>Push Buttom拉入主窗口,在右侧的属性栏中更改部件名称为“PushButtom_Quit”。可以适当的更改按键的大小和标签字体的样式与大小。部件的名称就是调用部件的接口。

    接下来要做的就是将按键与函数连接起来。

    在mainwindow.cpp中修改如下内容:

复制代码

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 
 4 MainWindow::MainWindow(QWidget *parent) :
 5     QMainWindow(parent),
 6     ui(new Ui::MainWindow)
 7 {
 8     ui->setupUi(this);
 9 
10     //如下为连接函数
11     connect(ui->PushButtom_Quit, SIGNAL(clicked()), this, SLOT(close()));
12 }
13 
14 MainWindow::~MainWindow()
15 {
16     delete ui;
17 }

复制代码

    第11行中的close()函数为SLOT的内建函数,可直接调用。

 (小技巧:当输入一个函数名后,只打出左括号,会立即弹出参数表,部分函数会弹出可作为参数的内建函数,对象会弹出对象中的属性列表。)

   至此,一个添加了按键可实现单击退出功能的窗口就完成了。执行后效果:

QT creator 教程 一、Qt Creator的安装和hello world程序的编写 二、Qt Creator编写多窗口程序 三、Qt Creator登录对话框 四、Qt Creator添加菜单图标 五、Qt Creator布局管理器的使用 六、Qt Creator实现文本编辑 七、Qt Creator实现文本查找 八、Qt Creator实现状态栏显示 九、Qt Creator中鼠标键盘事件的处理实现自定义鼠标指针 十、Qt Creator中实现定时器和产生随机数 十一、Qt 2D绘图(一)绘制简单图形 十二、Qt 2D绘图(二)渐变填充 十三、Qt 2D绘图(三)绘制文字 十四、Qt 2D绘图(四)绘制路径 十五、Qt 2D绘图(五)显示图片 十六、Qt 2D绘图(六)坐标系统 十七、Qt 2D绘图(七)Qt坐标系统深入 十八、Qt 2D绘图(八)涂鸦板 十九、 Q t 2D 绘图(九)双缓冲绘图简介 二十、Qt 2D绘图(十)图形视图框架简介 二十一、Qt数据库(一)简介 二十二、Qt数据库(二)添加MySQL数据库驱动插件 二十三、Qt数据库(三)利用QSqlQuery类执行SQL语句(一) 二十四、Qt数据库(四)利用QSqlQuery类执行SQL语句(二) 二十五、Qt数据库(五)QSqlQueryModel 二十六、Qt数据库(六)QSqlTableModel 二十七、Qt数据库(七)QSqlRelationalTableModel 二十八、Qt数据库(八)XML(一) 二十九、Qt数据库(九)XML(二) 三十、Qt数据库(十)XML (三) 三十一、Qt 4.7.0及Qt Creator 2.0 beta版安装全程图解 三十二、第一个Qt Quick程序(QML程序) 三十三、体验QML演示程序 三十四、Qt Quick Designer介绍 三十五、QML 组件 三十六、QML项目之Image和BorderImage 三十七、Flipable、Flickable 和状态与动画 三十八、QML 视图 三十九、QtDeclarative模块 四十、使用Nokia Qt SDK开发Symbian和Maemo终端软件 四十一、Qt网络(一)简介四十二、Qt网络(二)HTTP编程 四十三、Qt网络(三)FTP(一) 四十四、Qt网络(四)FTP(二) 四十五、Qt网络(五)获取本机网络信 四十六、Qt网络(六)UDP 四十七、Qt网络(七)TCP(一) 四十八、Qt网络(八)TCP(二)
### Qt Creator 中控件使用教程 #### 创建自定义控件 为了在Qt Creator中创建并使用自定义控件,在编写过程中需注意所选编译器应与Qt Creator一致,对于QT Creator 6.0.2 (Community),其采用的是MSVC编译器来编写[^1]。 当完成自定义控件的编码之后,为了让该组件能够在Qt框架内正常运作,必须将其注册至Qt的元对象系统之中。这一步骤确保了新创建的部件能够被应用程序识别以及实例化[^2]。 #### 注册自定义控件 假设已经有一个名为`MyCustomWidget`的新控件,则可以通过宏声明的方式让此类成为可插拔的对象: ```cpp #include <QPluginLoader> #include "mycustomwidget.h" class MyCustomWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: explicit MyCustomWidgetPlugin(QObject *parent = nullptr); bool isContainer() const override; QString domXml() const override; QString group() const override; QIcon icon() const override; QString includeFile() const override; bool isInitialized() const override; QString name() const override; QWidget *createWidget(QWidget *parent) override; private: bool initialized; }; ``` 上述代码片段展示了如何通过继承`QObject`和`QDesignerCustomWidgetInterface`接口类,并重写相应虚函数以提供关于自定义控件的信息给Qt Designer使用[^4]。 #### 集成自定义控件到Qt Creator 最后一步就是将编译好的动态链接库文件(如`.dll`)放置于适当位置以便Qt Creator加载这些扩展功能。通常情况下,应该把它们复制到Qt安装目录下对应的plugins子文件夹里。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值