qt creator3编译环境下 关于信号与槽关联方式的探讨
方法1:
利用connect函数进行关联:
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
connect(ui->showChildButton, &QPushButton::clicked,
this, &MyWidget::showChildDialog);
}
Connect函数中参数分别是发射信号的对象、发射的信号、接收信号的对象和要执行的槽。
方法2:
自动关联:
自动关联就是将关联函数整合到槽命名中,比如前面的槽可以重命名为on_showChildButton_clicked(),就是由字符on、发射信号的部件对象和信号名组成。使用这种方法注意:对于不是在qt设计器上添加的部件,就要在调用SETUPUI函数前定义改变部件,而且好要使用setObjectName()函数指定部件的对象名。
列如:
void MyWidget::on_showChildButton_clicked()
{
QDialog *dialog = new QDialog(this);
dialog->show();
}
方法三:
在qt中打开ui文件,点击Slot&signal editor中设置关联,这时会创建一个文件来用第二种自动关联来设关联。