// QT信号与槽的使用3种方法
#include "widget.h"
#include "ui_widget.h"
#include <QProcess>
widget::widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::widget)
{
ui->setupUi(this);
// 1.连接信号与槽, 谁发出信号,发出什么信号 谁处理信号 怎么处理
connect(ui->lineEdit, SIGNAL(returnPressed()), this, SLOT(on_commitButton_clicked()));// 再lineedit输入后直接enter
// 2. 模拟ui转信号槽自动生成槽函数,再widget.h和wiget.cpp添加on_cancelButton_clicked点击函数声明和定义
connect(ui->cancelButton, &QPushButton::clicked, this, &widget::on_cancelButton_clicked);
// 3. 使用lambda代替槽函数,这个函数代码少可以使用lambda替代
connect(ui->showButton, &QPushButton::clicked, [this](){
QMessageBox::information(this, "信息", "点击浏览");
});
}
widget::~widget()
{
delete ui;
}
void widget::on_commitButton_clicked()
{
// 获取lineedit数据
QString text = ui->lineEdit->text();
QProcess *myProcess = new QProcess(this);
myProcess->start(text);
}
void widget::on_cancelButton_clicked()
{
this->close();
}
QT 信号与槽
最新推荐文章于 2024-03-14 19:29:46 发布