嵌入式软件开发QT-02-简单调试、信号与槽机制、窗口切换、模态与非模态窗口
2017-10-15 21:24
591 查看
1.qtcreator的简单调试方法
两种最基本的调试方式
1.1使用creator的debug功能
编写程序后,点击代码编辑区左侧可以设置断点
然后点击debug按钮开始调试
会出现调试界面
在调试工具栏有选项
continue跳出当前断点,程序继续执行
stop结束调试
step over进行下一步
step into进入函数内部
step out跳出函数
restart重新开始调试
最后是查看内存
1.2使用qDebug()函数
新建空工程,只包含主函数,写入如下代码
2.信号与槽功能(以点击按钮关闭主窗口为例)
2.1使用design界面的信号与槽设计器
点击进入信号与槽编辑模式
使用拖拽直接编辑,如果右侧没有出现所需动作,勾选下面的选项卡
2.3使用自动生成代码方式
右键点击发出信号的控件,点击go to slot,并且选择动作
然后会转到代码手动添加close();函数
2.4使用connect函数关联
修改类的源文件,在setup函数做如下改动
以上是四种方法实现信号与槽的机制
3.窗口切换
新建一个qt图形界面工程,并且在主窗口中添加一个按键、再新建一个qt设计师类
右键按键,转到槽(go to solt)在槽中添加show函数
最终主函数代码为
然后在主窗口的头文件中,添加另一个窗口类的头文件以及申请实体
最终结果
4.设置模态对话框
模态对话框就是这个应用当前只能操作本对话框,锁定其他对话框
在show函数之前添加设置模态的语句
两种最基本的调试方式
1.1使用creator的debug功能
编写程序后,点击代码编辑区左侧可以设置断点
然后点击debug按钮开始调试
会出现调试界面
在调试工具栏有选项
continue跳出当前断点,程序继续执行
stop结束调试
step over进行下一步
step into进入函数内部
step out跳出函数
restart重新开始调试
最后是查看内存
1.2使用qDebug()函数
新建空工程,只包含主函数,写入如下代码
#include <QApplication> #include <QWidget> //使用第一种方法时不需要添加此头文件 #include <QDebug> int main(int argc, char *argv[]){ QApplication a (argc, argv); QWidget widget; int x = widget.x(); //将变量当作参数输出 qDebug("x: %d",x); int y = widget.y(); QRect geometry = widget.geometry(); //使用重载输出流运算符,类似于cout函数 qDebug()<<"geometry"<<geometry; QRect frame = widget.frameGeometry(); return a.exec(); }
2.信号与槽功能(以点击按钮关闭主窗口为例)
2.1使用design界面的信号与槽设计器
点击进入信号与槽编辑模式
使用拖拽直接编辑,如果右侧没有出现所需动作,勾选下面的选项卡
2.3使用自动生成代码方式
右键点击发出信号的控件,点击go to slot,并且选择动作
然后会转到代码手动添加close();函数
2.4使用connect函数关联
修改类的源文件,在setup函数做如下改动
以上是四种方法实现信号与槽的机制
3.窗口切换
新建一个qt图形界面工程,并且在主窗口中添加一个按键、再新建一个qt设计师类
右键按键,转到槽(go to solt)在槽中添加show函数
最终主函数代码为
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { //在槽函数中显示对话框 dialog.show(); }
然后在主窗口的头文件中,添加另一个窗口类的头文件以及申请实体
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> //添加 所要显示的对话框的头文件 #include "dialog.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_pushButton_clicked(); private: Ui::MainWindow *ui; //新建一个对话框的实体 Dialog dialog; }; #endif // MAINWINDOW_H
最终结果
4.设置模态对话框
模态对话框就是这个应用当前只能操作本对话框,锁定其他对话框
在show函数之前添加设置模态的语句
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { //设置为模态对话框 dialog.setModal(true); //在槽函数中显示对话框 dialog.show(); }
相关文章推荐
- Qt嵌入式开发避免窗口闪烁以及窗口模态设置方法
- 嵌入式 QT开发使用信号和槽的机制
- QT中采用信号槽机制实现两个label切换图片的关联
- 简单之美-软件开发实践者的思考 02
- 嵌入式软件开发流程及中断调试方法
- iOS开发之深入探讨runtime机制02-runtime的简单使用
- Qt键盘驱动处理类的实现:Qt键盘驱动处理类的实现,通过Qt的插件机制实现嵌入式开发中的自定义键盘处理。
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之登录窗口调试
- 【ZZ】Linux下应用程序开发:QT的信号与槽机制
- 【Qt开发-模拟电商网站】模态与非模态窗口
- 模态窗口不能使用开发人员调试工具解决方法
- QT软件开发-多窗口—定时器与直流电机控制
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南二——理解消息循环和窗口过程
- 嵌入式多媒体设计--4qt多窗口切换
- QT开发(十三)——QT信号与槽机制
- Linux下QT图形界面开发在终端窗口中Qt编程信号的应用实例(4)
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(二) 理解消息循环和窗口过程
- 嵌入式软件开发------------------Qt之QSettings类的常用函数
- Qt学习记录--02 Qt的信号槽机制介绍(含Qt5与Qt4的差异对比)
- 【Qt开发】Qt 捕捉窗口关闭事件与信号的捕捉