當對話框的accept()
插槽被調用時,我應該如何最好地強制QDialog保持打開狀態?我正在考慮重新實現這個功能,讓對話框的exec在沒有隱藏對話框的情況下返回,但想知道是否有更好的方法來完成這個任務。強制QDialog保持打開狀態
1
A
回答
2
而不是使用QDialog,我會用QDockWidget完成這個效果。
- 刪除功能,使碼頭被移動(QDockWidget :: DockWidgetMovable)
- 將停靠小部件浮動(setFloating(真))
- 碼頭上的小部件連接項目到適當的信號和在主窗口中時隙
參考
2
你需要讓你的QDialog
無模式,通過調用show
,而不是exec
,並使用自定義的信號,而不是accept
,因爲accept
關閉窗口。您可以使用exec
調用後的代碼將該信號連接到主窗口中的某個插槽。
如果還不是這種情況,應該在某個地方(作爲主窗口類中的成員或打開它的函數中的靜態變量)保留一個指向QDialog的引用/指針,以便能夠爲避免創建對話框的多個實例,並且您需要確保只連接一次信號/插槽。
相關問題
- 1. 如何在線程中打開窗體並強制其保持打開狀態
- 2. 如何使JOptionPane保持打開狀態
- 3. 讓查詢框保持打開狀態
- 4. mysql_connect保持打開狀態多久?
- 5. 除非點擊按鈕,否則強制顯示保持打開狀態?
- 6. 打開頁面時滑動面板保持打開狀態
- 7. 在鼠標上打開div並保持打開狀態
- 8. 如何讓Windows控制檯保持打開狀態?
- 9. 強制鍵盤變爲可見並保持可見狀態
- 10. 如何使用ddaccordian.init保持當前類別選項卡保持打開狀態?
- 11. 使div打開/關閉狀態持續
- 12. 打開一個ssh連接並在啓動時保持打開狀態
- 13. NSOpenPanel在調試期間保持打開狀態
- 14. 保持訂閱在單一狀態下打開
- 15. WCF tcp連接在進程死亡時保持打開狀態
- 16. vba excel在移動Excel表格時保持打開狀態
- 17. 保持JQuery對話框在鼠標懸停狀態下打開
- 18. 如何讓文件保持打開狀態以便讀取
- 19. modal在驗證過程中保持打開狀態
- 20. 調試錯誤後,SSH連接保持打開狀態
- 21. 運行bat文件時使命令行保持打開狀態
- 22. 肥皂要求保持打開狀態直到返回?
- 23. 多級metis菜單項保持打開狀態
- 24. Silverlight RadComboBox在選擇後保持打開狀態
- 25. 當Windows失去焦點時,JComboBox保持打開狀態
- 26. 引導工具提示在懸停時保持打開狀態
- 27. 下拉菜單在觸摸設備上保持打開狀態
- 28. WinForms ContextMenu在MenuItem被點擊時保持打開狀態
- 29. 如何使WPF Combobox的下拉菜單保持打開狀態
- 30. 垂直菜單顯示點擊菜單保持打開狀態
嗯,但我目前在該QDialog上使用'exec()'。當用戶在'QDockWidget'中輸入一些值時,我怎樣才能讓主線程等待? – wrongusername
當文本在子窗口小部件(或其他可變更改)上更改時處理用戶數據。換句話說,將textChanged信號連接到您的處理函數。 – ccozad
是的,但不幸的是,我的代碼目前運行在一個單獨的線程上,等待QDialog來完成'exec'。我認爲我最好的選擇是重構,以至於事情並非如此? – wrongusername