我創建一個對話框窗口與標誌:Qt的對話窗口禁用alwaysontop導致窗口關閉
this->setWindowFlags(this->windowFlags()^Qt::WindowContextHelpButtonHint);
this->setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint);
ui.setupUi(this);
考慮到對話窗口的要求在上面創建的住宿,工作正常。然而,對話窗口也都有一個複選框,其目的是讓用戶禁用其alwaysontop財產,爲此這些代碼行出現在類的構造函數:
QObject::connect(ui.cbAlwaysOnTop, &QCheckBox::clicked, this, &SearchWindow::IsSetOnTop);
而且功能:
void IsSetOnTop() {
if (ui.cbAlwaysOnTop->checkState())
this->setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint);
else
this->setWindowFlags(this->windowFlags()^Qt::WindowStaysOnTopHint);//^ Qt::WindowStaysOnTopHint
}
問題是,只要checkbox alwaysontop沒有被選中,窗口就會消失(最終它不再存在)。任何想法我做錯了什麼?
仍然卡在這裏,我不正確地問我的問題嗎?如果是的話,我應該添加哪些信息? –