QT5学习记录(一)
学习环境:windows10 + qt5.13 + qt creater4.9.1
1.基本工程创建操作
常规操作创建画面,可选择qdialog、mainwindow、qwidget三种类型。可选择直接创建相应的 ui 文件,控件的添加可以在编辑模式下使用代码创建,也可以在设计模式下通过拖动添加;控件的属性可以在编辑模式下用代码修改,也可以在设计模式下通过属性栏修改;每一个控件通过其唯一的 objectname 寻找,所以要细心设置控件的objectname。
2.常用且重要的操作
qt 特有的信号(signal)和槽(slot):signal 关联发出者,slot 关联接收者,两者各有一个对应的函数操作;qt中已经自带了一些 signal 和 slot 函数,用户可以直接使用;如果用户自定义的signal信号,使用 emit 关键字发出信号;signal 和 slot 需要绑定起来才能实现正常的发送与接收,这种连接可以使用代码 connect 函数执行,也可以在设计模式下的 edit signal/slot 功能中通过连线方式绑定,最终实现 signal 和 slot 的代码(如果是 qt 自带的 signal 和 slot 也可以视情况省略该操作)。
3.实际操作练习
新建两个窗口(此处选择了 mainwindow 和 dialog),新建时选择创建 ui 文件。在每个画面添加两个 qpushbutton 控件,主界面的按钮实现跳转至从界面和关闭,从界面按钮实现一个弹出框和返回至主界面。在从界面(dialog)的 h 文件中声明一个 mainwindow 实例:
private: ui::dialog *ui; mainwindow *back_main;
从界面的构造函数中连接两个画面( signal 和 slot 的绑定):
dialog::dialog(qwidget *parent) : qdialog(parent), ui(new ui::dialog) { ui->setupui(this); back_main = new mainwindow; connect(ui->back,&qpushbutton::clicked,back_main,&mainwindow::re_show); }
在 mainwindow 类中声明一个 slot :
public slots: void re_show();
在 mainwindow 的 cpp 文件实现 slot 函数 re_show() 和 创建从界面函数(即新建画面按钮的 slot 函数) :
void mainwindow::re_show() { this->show(); } void mainwindow::on_create_clicked() { dialog mydia; this->hide(); mydia.exec(); }
4.总结
从本次记录主要了解 qt 的 signal 和 slot 形式与基本使用,学习两个界面如果通过 signal 和 slot 联系在一起。
每使用一种控件,需要把对应的类包含进去!!! eg. #include <qpushbutton>//包含按钮的类
/***************************************未完待续******************************************/
上一篇: 用js传递当前页面的url,丢失了&后面的参数 解决办法
下一篇: 4.python读写csv文件
推荐阅读
-
分享一个Mysql主从同步记录
-
浅谈Bootstrap学习第一章(介绍)
-
在asp中通过getrows实现数据库记录分页的一段代码
-
php基础学习一:PHP数组与数据结构
-
脱离脚手架来配置、学习 webpack4.x (一)基础搭建项目
-
生活中的小技巧虾尾不去壳怎么去虾线呢,大家来学习一下吧
-
PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】
-
oracle—SQL技巧之(一)连续记录查询sql案例测试
-
oracle—SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
-
C# Redis学习系列(一)Redis下载安装使用