欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > C++ for QWidget:connect(连接)

C++ for QWidget:connect(连接)

2025/5/20 4:24:39 来源:https://blog.csdn.net/ymc99999chn/article/details/148040319  浏览:    关键词:C++ for QWidget:connect(连接)

 语法:

QObject::connect(发射信号的对象,发射的信号,接收信号的对象,接收后执行的命令)

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 创建一个中心窗口部件QWidget *centralWidget = new QWidget(this);setCentralWidget(centralWidget);QPushButton *pushButton1 = new QPushButton("button1", this);//创建button1QPushButton *pushButton2 = new QPushButton("button2", this);//创建button2QPushButton *pushButton3 = new QPushButton("button3", this);//创建button3QVBoxLayout *verticallayout = new QVBoxLayout(centralWidget); QHBoxLayout *horizontallayout = new QHBoxLayout; horizontallayout->addWidget(pushButton1);horizontallayout->addWidget(pushButton2);horizontallayout->addWidget(pushButton3);verticallayout->addLayout(horizontallayout);//布局部分,与主题无关QObject::connect(pushButton1, &QPushButton::clicked, this, &QWidget::close);//第一个按钮设置按下后关闭窗口QObject::connect(pushButton2, &QPushButton::clicked, [](){QMessageBox::information(nullptr, "Message", "Button2");});//第二个按钮使用lambda函数,设置按下后弹出消息窗口QObject::connect(pushButton3, &QPushButton::clicked, [pushButton3](){pushButton3->setText("clicked!");});//第三个按钮也使用了lambda函数,并捕获按钮三,按下时按钮三的文本由原来的"button3"变为"clicked!"
}MainWindow::~MainWindow()
{delete ui;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词