博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Qt Creator 和在 vs2012 里添加信号和槽
阅读量:6205 次
发布时间:2019-06-21

本文共 1690 字,大约阅读时间需要 5 分钟。

Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。

如点击一个QPushButton时,按钮会发送一个clicked()信号,信号可以与函数(在qt里称做槽slot)相连接

可以把信号理解为c#里的事件

在vs2012里和在Qt Creator里添加信号和槽不一样,这里把两种环境下怎么添加详细说明一下

 

1.在vs2012里添加信号和槽

新建一个qt的项目QtDemo

 

在qtdeom.h里添加槽

private slots:         void Btn_OpenClick();

整体代码

#ifndef QTDEMO_H#define QTDEMO_H#include 
#include "ui_qtdemo.h"class QtDemo : public QMainWindow{ Q_OBJECTpublic: QtDemo(QWidget *parent = 0); ~QtDemo();private: Ui::QtDemoClass ui;private slots: void Btn_OpenClick();};#endif // QTDEMO_H

在qtdemo.cpp里添加实现,这里我们只是弹出一个QMessagBox

#include "qtdemo.h"#include 
QtDemo::QtDemo(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); }QtDemo::~QtDemo(){}void QtDemo::Btn_OpenClick(){ QMessageBox msg; msg.setText("HelloWord!"); msg.exec();}

双击qtdemo.ui打开qt设计师窗体

我们在窗体上放一个PushButton

点击编辑信号槽

点击PushButton手动红色箭头指向窗体

点击QtDemoClass窗口下的编辑打开信号槽窗体点击添加把我们之前写的方法名称加到里边

确定关闭后在配置连接窗体下点点击licked()和Btn_OpenClick()后确定

点击保存关闭qt设计师窗体

回到vs2012后F5运行

2.在Qt里添加信号和槽

打开 Qt Creator新建一个项目MyQtDemo

 

点击mainwindow打开设计窗体在窗体上添加一个PushButton

点击右键先把转到槽

打开转到槽窗体

 

点击clicked()点击确定

在mainwindow.cpp里添加QMesageBox

#include "mainwindow.h"#include "ui_mainwindow.h"#include 
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this);}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_pushButton_clicked(){ QMessageBox msg; msg.setText("Hello Word !"); msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel); msg.setDefaultButton(QMessageBox::Cancel); msg.exec();}

运行

 

本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/3644812.html,如需转载请自行联系原作者

你可能感兴趣的文章
被解放的姜戈08 远走高飞
查看>>
linux文件分割(将大的日志文件分割成小的)
查看>>
品牌推广前期要进行哪些针对性的步骤?
查看>>
程序猿是如何解决SQLServer占CPU100%的
查看>>
[20170617]vim中调用sqlplus.txt
查看>>
使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
查看>>
flag
查看>>
web.xml
查看>>
MVCC浅析(转)
查看>>
SQL2000 MD5加密
查看>>
nginx搭建基于http协议的视频点播服务器
查看>>
Google-Guava-EventBus源码解读
查看>>
上班第一天(6)--一个程序员的成长史(15)
查看>>
HBase-1.2.4LruBlockCache实现分析(一)
查看>>
让物联网真正起飞的关键:无线充电
查看>>
Java初级笔记-第五章
查看>>
云计算技术的跃进睿云智合专业先进水平
查看>>
hive 初认识
查看>>
【GitLab】CentOS安装GitLab最佳实践
查看>>
阿里巴巴旗下平台口碑推出无人收银技术,改造便利店市场;重庆法院运用 AI 探索“智能判案”...
查看>>