VS2017 Qt設定模態 非模態對話方塊

2021-10-25 18:35:42 字數 711 閱讀 4461

1.重新新增乙個類mydialog,ui作為新的對話方塊

右鍵專案——新增——add qt class——qt widget class

2.新增的類是繼承於qwidget,修改mydialog.h和mydialog.cpp。

mydialog.h

#include "ui_mydialog.h"

#includeclass mydialog : public qdialog//此處由qwidget修改為qdialog

;

mydialog.cpp

mydialog::mydialog(qwidget *parent)

: qdialog(parent)此處由qwidget修改為qdialog

顯示對話方塊的槽函式如下:

void study_mainwin::on_pushbutton_clicked()
如果不進行第二步的修改(由qwidget修改為qdialog),則mydialog是繼承於qwidget,在qwidget類中顯示模態視窗與qdialog類中顯示模態視窗方法不同。

如果mydialog繼承與qwidget,則顯示對話方塊的槽函式如下:

void study_mainwin::on_pushbutton_clicked()

Qt基礎 模態與非模態視窗

設定置頂非模態視窗 在qt中,qdialog是所有對話方塊視窗類的基類,不只是對話方塊有模態與非模態區分,qwidget和qmainwindow視窗也可以設為模態,因此文章不稱模態 非模態對話方塊,而叫做模態 非模態視窗。模態 modal 視窗 視窗彈出後,沒關閉之前,不可以對同一應用程式的其他視窗...

Qt學習 模態與非模態對話方塊

模態 modal 指該對話方塊視窗會阻塞其他視窗。非模態 modeless 指該對話方塊視窗不阻塞任何其他視窗。模態的種類由列舉型別enum qt windowmodality來定義,分為 qt nonmodal 非模態,即不阻塞任何其他視窗 qt windowmodal 視窗模態,即阻塞其父視窗和...

Qt模態對話方塊和非模態對話方塊

1 模態對話方塊 1 要想使乙個對話方塊成為模態對話方塊,只需要條用它的exec 函式。qdialog dialog this dialog.exec 2 show 函式建立模態對話方塊,呼叫函式setmodal true 函式即可。qdialog dialog new qdialog this d...