我正在使用QMessageBox中的很好的功能來有選擇地向用戶顯示詳細的文本。但是,擴展後的窗口仍然很小,並且立即嘗試調整窗口大小,以便可以看到更多細節。即使設置了我認爲合適的設置後,也不允許調整大小。如何允許在PyQt4中調整QMessageBox的大小
這裏是PyQt4的代碼中的相關片段:
mb = QMessageBox()
mb.setText("Results written to '%s'" % filename)
mb.setDetailedText(str(myData))
mb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
mb.setSizeGripEnabled(True)
我缺少一個步驟,並且/或者這是在所有可能的?
你的意思是顯示QMessageBox提示的時候,它不是足夠大,以顯示你的內容(例如,事情正在被切斷)? – 2010-04-16 18:46:17
對不起,我不清楚。我的意思是說詳細的文字侷限於一個*小*文本區域(帶滾動條)。從用戶角度來看,可以看到,但不令人愉快。如果'QMessageBox'只能根據用戶需要手動調整大小,那麼它將大大提高整體體驗。即使對'setSizePolicy()'和'setSizeGripEnabled()'的調用,仍然無法調整窗口大小。 – metasim 2010-04-16 19:11:20
您是否嘗試過最低擴展尺寸政策? 除此之外,請檢查是否設置了maximumSize。您可能需要繼承QMessageBox並重新實現sizeHint()以返回所需內容。我總是發現有一點巫術涉及讓頂級窗口小部件根據其內容適當地重新調整自己的尺寸。你可以嘗試的另一件事是設置佈局的大小約束:'mb.layout() - > setSizeConstraint(QLayout :: SetMaximumSize)'(啊,這是C++ - 不熟悉Python語法) – 2010-04-16 20:08:37