我有Qt 5.6,我正在使用按钮的按下信号,然后显示一个对话框。遗憾的是,第一次没有点击对话框的按钮,但第二次点击是完美的。
您可以在QMessageBox::information
广告位中显示on_someButton_pressed
来测试这种情况。
答案 0 :(得分:0)
抱歉,无法复制:适合我。 你应该编写这个测试用例。对它进行编码比编写问题要少得多。
#include <QtWidgets>
int main(int argc, char ** argv) {
QApplication app{argc, argv};
QPushButton button{"Press me"};
button.setMinimumSize(300, 150);
button.setFont(QFont{"Helvetica", 20});
QObject::connect(&button, &QPushButton::pressed, [&]{
QMessageBox::information(&button, "Yes!", "You pressed me.");
});
button.show();
app.exec();
}
另外,您应该使用clicked()
信号,而不是pressed()
信号。如果你使用后者,可用性会受到影响。