当前位置: 首页 > news >正文

网站模块是什么意思网站后台 英语

网站模块是什么意思,网站后台 英语,国家城乡建设网站,电脑网站安全证书有问题如何解决QT中什么是信号和槽 概念解释 在 Qt 中#xff0c;信号#xff08;Signals#xff09;和槽#xff08;Slots#xff09;是一种用于对象间通信的机制。信号是对象发出的事件通知#xff0c;而槽是接收并处理这些通知的函数。 例如#xff0c;当用户点击一个按钮时#…QT中什么是信号和槽 概念解释 在 Qt 中信号Signals和槽Slots是一种用于对象间通信的机制。信号是对象发出的事件通知而槽是接收并处理这些通知的函数。 例如当用户点击一个按钮时按钮对象会发出一个 “clicked” 信号这个信号可以连接到一个槽函数槽函数可以是任何具有合适参数的成员函数当信号被发射时与之连接的槽函数就会被自动调用。 信号Signals 定义信号是一个成员函数的声明它只需要声明不需要也不应该在类的定义中实现。信号没有函数体它的声明使用signals关键字。 新建项目 完成后双击widget.ui文件 在设计模式中往界面上添加一个Label和一个Push Button 更改Label的显示文本为“主界面就是我”​更改按钮的显示文本为“切换子窗口”​ 回到编辑模式打开widget.h文件在Widget类定义的最后添加槽的声明 #ifndef WIDGET_H #define WIDGET_H#include QWidgetQT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();private:Ui::Widget *ui;public slots:void showChildDialog(); }; #endif // WIDGET_H 槽一般使用slots关键字进行修饰这里使用public slots 表示这个槽可以在类外被调用现在需要实现该槽函数快捷键是Alt回车键选择“重构→在widget.cpp添加定义”菜单项编辑器便会转到widget.cpp文件中 编辑器便会转到widget.cpp文件中 #include widget.h #include ui_widget.h #include QDialogWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);connect(ui-pushButton,QPushButton::clicked,this,Widget::showChildDialog); }Widget::~Widget() {delete ui; }void Widget::showChildDialog() {QDialog *dialog new QDialog(this);dialog-resize(400,400);dialog-setWindowTitle(tr(子窗口));dialog-show(); } 然后在Widget类的构造函数添加信号和槽的关联 Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);connect(ui-pushButton,QPushButton::clicked,this,Widget::showChildDialog); } connect函数中的4个参数分别是发射信号的对象、发射的信号、接收信号的对象和要执行的槽。运行程序然后单击主界面上的按钮会弹出一个对话框。 自动关联 将showChildDialog重新命名为on_pushButton_clicked()就是由字符on、发射信号的部件对象名和信号名组成 在Widget类的构造函数中删除connect()函数 统一更改函数名快捷键先在showChildDialog上右击在弹出的快捷菜单中选择“重构→重命名光标所在符号”​或者直接按下CtrlShiftR快捷键在出现的替换栏中输入on_pushButton_clicked再单击Replace按钮就可以了。 现在运行程序和前面的效果是一样的。 自动关联的方式比较简单对于不是在Qt设计器中往界面上添加的部件就要在调用setupUi()函数前定义该部件而且要使用setObjectName()函数指定部件的对象名这样才可以使用自动关联。在编写程序时一般使用第一种方式。 自定义对话框 首先向该项目中添加Qt设计器界面类。界面模板选择Dialog without Buttons类名改为MyDialog。完成后在设计模式中向窗口上添加两个Push Button并且分别更改其显示文本为“进入主界面”和“退出程序”​。 使用设计器来实现“退出程序”按钮的信号和槽的关联。单击设计器 按下快捷键F4则进入了部件的信号和槽的编辑模式。在“退出程序”按钮上按住鼠标左键然后拖动到主窗口界面上这时松开鼠标左键。在弹出的“配置连接 - Qt Creator”对话框中选中“显示从QWidget继承的信号和槽”复选框然后在左边的QPushButton栏中选择信号clicked()在右边的QDialog栏中选择对应的槽close()完成后单击“确定”按钮 要想取消这个关联只需在信号和槽编辑模式中选择这个关联当它变为红色时按下Delete键或者右击后选择“删除”菜单项 设置好关联后按下F3键或者单击“编辑控件”图标则回到部件编辑模式 设置“进入主界面”按钮的信号和槽的关联 在该按钮上右击在弹出的快捷菜单中选择“转到槽”​然后在弹出的对话框中选择clicked()信号并单击“确定”按钮。这时便会进入编辑模式并且定位到自动生成的on_pushButton_clicked()槽中。在其中添加代码 mydialog.cpp #include mydialog.h #include ui_mydialog.hmyDialog::myDialog(QWidget *parent): QDialog(parent), ui(new Ui::myDialog) {ui-setupUi(this); }myDialog::~myDialog() {delete ui; }void myDialog::on_pushButton_clicked() {accept(); } 这里讲述了两种关联信号和槽的方法第一种方法是直接在设计器中进行关联这更适合在设计器中的部件间进行。第二种方法是在设计器中直接进入相关信号的槽这与前面讲到的手写函数是一样的它用的就是自动关联这样也会在.h文件中自动添加该槽的声明我们只需更改其实现代码就可以了。在以后的章节中如果在设计器中添加的部件要使用信号和槽一般会使用第二种方法。 在主界面中使用自定义的对话框 首先更改main.cpp文件内容如下 #include widget.h#include QApplication #include mydialog.h int main(int argc, char *argv[]) {QApplication a(argc, argv);// Widget w;// w.show();// return a.exec();myDialog dialog;// 创建新对象if(dialog.exec() QDialog::Accepted){Widget w;w.show();return a.exec();}else{return 0;}} 在主函数中建立了MyDialog对象然后判断其exec()函数的返回值如果是按下了“进入主界面”按钮返回值应该是QDialog::Accepted就显示主界面并且正常执行程序如果不是则直接退出程序。 运行程序后可以发现已经实现了从登录对话框到主界面再从主界面显示一个对话框的应用了。 实现从主界面重新进入登录界面的功能 双击widget.ui文件在设计模式中再向界面上添加两个Push Button分别更改它们的显示文本为“重新登录”和“退出”​。 然后使用信号和槽模式将“退出”按钮的clicked()信号和Widget界面的close()槽关联。 完成后再转到“重新登录”按钮的clicked()信号的槽并更改如下。 void Widget::on_pushButton_2_clicked() {close();myDialog dlg;if(dlg.exec() QDialog::Accepted){show();} } 需要说明的是close()槽不一定使程序退出只有当剩下最后一个主界面就是没有父窗口的界面时调用close()槽程序才会退出而其他情况下界面只是隐藏起来了并没有被销毁。这里还需要包含MyDialog类的头文件#include “mydialog.h”最后可以运行程序查看效果。 参考 《零基础学Ot 6编程》
http://www.hkea.cn/news/14311660/

相关文章:

  • 知名网站制作企业廉江网站开发公司
  • 网站 地区加关键词广告字体设计在线生成
  • 聊城建网站做英文网站要用什么字体
  • 网站建设技术培训学校商丘网站建设的公司哪家好
  • ps怎么做响应式网站布局图wordpress 多服务器
  • 起点网站书的封面怎们做昆明网站建设服务
  • 电子商务网站开发技术和工具有哪些企业网站托管代运营
  • 小木桥建设网站想开广告公司怎么起步
  • 户县建设局网站电子商务网站建设费用预算
  • 深圳网站关键词排名优化二手房网站开发文档
  • 成绩分析智能网站怎么做外链工具
  • 域名解析到别的网站网站后台管理系统多少钱
  • 购物网站开发设计外呼电销系统
  • 做网站的公司哪家强小程序源码搭建
  • 厦门网站建设屈兴东济宁热点网络科技有限公司
  • 不要营业执照的做网站北京环球影城可以带水果吗
  • 电子商务网站建设的主页广西公司注册网上核名
  • 邯郸网站设计公司dedecms电影网站模板
  • 专业柳州网站建设推荐巴中做网站的公司
  • 企业网站有哪几个类型WordPress怎么编制手机页面
  • 织梦网站首页错位如何做自己的视频网站
  • 深圳建设网站上市广东炒股配资网站开发
  • 古典家具公司网站模板wordpress用户注册邮件验证
  • 联谊会总结网站建设对外宣传外包网站制作
  • 南昌网站开发建设山东大型网站建设
  • 茶山网站仿做怎么制作网站商城
  • 太原本地网站WordPress使用CDN无法登录
  • 昆明网站建设开发手机微信官方网站首页
  • 建筑师网站镇江门户网
  • 网站设计成功案例网红营销的定义