2012-09-11 57 views
3

我試着使用QInputDialog沒有釦子。它看起來就像我想要的,但我不確認輸入(使用它作爲文本輸入)。是否有可能用確認鍵確認,以便exec()返回QInputDialog::Accepted?就像退出鍵讓對話返回QInputDialog::RejectedQInputDialog - 與確認輸入鍵

+2

回車鍵不起作用,因爲您不使用按鈕。在顯示按鈕的情況下,「確定」按鈕被設置爲默認值,所以它接收到確認鍵按下事件,按鈕信號連接到QDialog的'accept()'插槽。退出鍵由對話框本身處理,因此它調用'reject()'槽。您需要從'QDialog'繼承並手動輸入按鍵事件,或者將lineEdit的'returnPressed()'信號連接到'accept()'插槽。 –

+1

@Pie_Jesu謝謝!多數民衆贊成在我擔心...繼承...再次 – TeaOverflow

+1

只是一個快速的建議,可能會或可能無法正常工作:你可以創建正常的按鈕,但只是隱藏它?參見'QWidget :: hide()'。 – Anthony

回答

1

你可以installEventFilter()在QInputDialog,然後有eventFilter()接受()在keypressevent對話框()。 :)

+0

我解決它通過繼承,但我不知道'installEventFilter()單曲功能。感謝您提出這個! – TeaOverflow