3

问题很简单。是否可以在任务栏中显示QDialogQMessageBox不创建选项卡?我尝试使用 exec()、show()、更改模式的值,但选项卡始终处于打开状态。

4

1 回答 1

3

您需要为以下内容指定父窗口QMessageBox

QApplication a(argc, argv);
qt_test_dialog w;
w.show();
// with additional button
// QMessageBox box(QMessageBox::Information, "Title", "Hello there!", QMessageBox::Ok);

// without additional button!
QMessageBox box(QMessageBox::Information, "Title", "Hello there!", QMessageBox::Ok, &w);

或者简单地说:

QMessageBox box(&w);
box.setText("Hello");
box.exec();

请注意,父参数甚至可以为空QWidget

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // plain wrong (you will not be able to exit application) - but it demonstrates 
    // the case
    QMessageBox box(new QWidget());
    box.setText("Hello");
    box.exec();
    return a.exec();
}
于 2013-02-05T20:49:02.227 回答