C++/Qt工作笔记-static_cast在connect函数中的运用
发布日期:2021-06-30 10:56:36
浏览次数:2
分类:技术文章
本文共 2251 字,大约阅读时间需要 7 分钟。
connect使用函数指针,带参数的时候优先考虑使用static_cast
栗子一:
运行截图如下:
源码如下:
widget.h
#ifndef WIDGET_H#define WIDGET_H#include#include namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0); ~Widget();private slots: void on_pushButton_clicked(); void getProcessStatus(int exitCode,QProcess::ExitStatus exitStatus);private: Ui::Widget *ui;};#endif // WIDGET_H
main.cpp
#include "widget.h"#includeint main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
widget.cpp
#include "widget.h"#include "ui_widget.h"#include#include #include Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this);}Widget::~Widget(){ delete ui;}void Widget::on_pushButton_clicked(){ QProcess p; QString cmdString="E:\\vs2012\\QtTestDemo\\Debug\\QtTestDemo.exe"; p.start("cmd",QStringList()<<"/c"< (&QProcess::finished),this,&Widget::getProcessStatus); connect(&p,static_cast (&QProcess::finished),[=](int exitCode,QProcess::ExitStatus exitStatus){ qDebug()<<"exitCode:"<
栗子二
运行截图如下:
源码如下:
qtconnectdemo.h
#ifndef QTCONNECTDEMO_H#define QTCONNECTDEMO_H#include#include "ui_qtconnectdemo.h"class QtConnectDemo : public QWidget{ Q_OBJECTpublic: QtConnectDemo(QWidget *parent = 0); ~QtConnectDemo();public slots: //void btnClicked(); void btnClicked(bool checked);private: Ui::QtConnectDemoClass ui;};#endif // QTCONNECTDEMO_H
mian.cpp
#include "qtconnectdemo.h"#includeint main(int argc, char *argv[]){ QApplication a(argc, argv); QtConnectDemo w; w.show(); return a.exec();}
qtconnectdemo.cpp
#include "qtconnectdemo.h"#include "ui_qtconnectdemo.h"#includeQtConnectDemo::QtConnectDemo(QWidget *parent) : QWidget(parent){ ui.setupUi(this); //connect(ui.pushButton,SIGNAL(clicked()),this,SLOT(btnClicked())); //connect(ui.pushButton,&QPushButton::clicked,this,&QtConnectDemo::btnClicked); //connect(ui.pushButton,&QPushButton::clicked,this,&QtConnectDemo::btnClicked); connect(ui.pushButton,static_cast (&QPushButton::clicked),[=](bool status){ qDebug()<
转载地址:https://it1995.blog.csdn.net/article/details/82752685 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月06日 17时37分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PyTorch的学习笔记02 - backward( )函数
2019-04-30
极简光流(optical flow) - 基于深度和相机位姿的光流
2019-04-30
Sublime Text
2019-04-30
kalibr使用记录
2019-04-30
kvm部署
2019-04-30
exsi部署
2019-04-30
keepalived
2019-04-30
zabbix监控脑裂
2019-04-30
lnmp部署
2019-04-30
nginx平滑升级
2019-04-30
location区段
2019-04-30
nginx访问控制、基于用户认证、https配置
2019-04-30
用zabbix监控nginx
2019-04-30
rewrite和if语句
2019-04-30
nginx实现负载均衡和动静分离
2019-04-30
SaltStack
2019-04-30
Packer 如何将 JSON 的配置升级为 HCL2
2019-04-30