我用這條線已經禁用X按鈕,在Qt的從我的對話框:如何禁用使用Qt的Alt + F4窗口關閉?
myDialog->setWindowFlags(Qt::Dialog | Qt::Desktop)
但使用此代碼我無法檢測Alt鍵 + F4:
void myClass::keyPressEvent(QKeyEvent *e)
{
if ((e->key()==Qt::Key_F4) && (e->modifiers()==Qt::AltModifier))
doSomething();
}
什麼我應該做的檢測Alt鍵 + F4或Qt中禁用它?
你已經得到了兩個錯誤:它是'keyPressEvent(QKeyEvent * EVT)''Press'不'Pressed'和類型是不同的。但是,應用此修復程序...它運行良好。 :) – 2017-01-12 20:03:49
只是重寫keyPressEvent(QKeyEvent * EVT)和留空,可能會引起其他問題,如不輸入工作可能需要關鍵的行爲,例如,當我們要允許用戶通過點擊回車鍵繼續。因此,在這種特定情況下定義我們不想明確允許的密鑰會更好。換句話說,最好調用BaseWidget :: keyPressEvent(evt),其中BaseWidget是繼承的東西(可以是QWidget,QDialog等) – 2017-08-29 14:25:14