Qt C++:如何让按钮关联的动画函数在程序启动时自动执行?
解决方案
完全可以实现,不需要修改.ui文件,利用Qt的内置机制就能搞定,有两种简单方法:
直接调用槽函数:槽函数本质就是类的普通成员函数,你可以直接在
myClass的构造函数里调用它,程序启动时构造对象就会自动执行动画逻辑:myClass::myClass(QWidget *parent) : QWidget(parent) { ui->setupUi(this); // 启动时直接执行动画槽函数 on_pushButton_3_clicked(); }通过信号槽连接触发:如果想更贴合Qt的信号槽设计思路,可以把窗口的
show()信号或者应用的started()信号连接到这个槽函数:
比如在构造函数里连接窗口显示信号:myClass::myClass(QWidget *parent) : QWidget(parent) { ui->setupUi(this); connect(this, &myClass::show, this, &myClass::on_pushButton_3_clicked); }或者在main函数里连接应用启动信号:
int main(int argc, char *argv[]) { QApplication a(argc, argv); myClass w; connect(&a, &QApplication::started, &w, &myClass::on_pushButton_3_clicked); w.show(); return a.exec(); }
这两种方式都不需要额外的“识别.ui组件名称的内置函数”,因为你已经通过Qt的自动连接机制拥有了这个槽函数,直接调用或关联信号就能实现启动即执行的效果。
内容的提问来源于stack exchange,提问作者Multiplier
相关产品推荐
相关产品推荐

