2
我想知道如何使用我自己的按鈕來創建自定義QDialog消息框,類似於下面的代碼。自定義QDialog竊取全屏應用程序焦點並顯示任務欄
到目前爲止,我有這個代碼,它工作得很好。這段代碼的問題在於它從全屏應用程序啓動,並且竊取了它的焦點(頂部的主任務欄與QDialog對象一起出現)。我希望這可以在後臺與我的全屏應用程序無縫協作,這意味着當我單擊一個按鈕來顯示此消息框時,頂部不應出現任何任務欄。我正在使用PyQt4和Python 2.7.2在Ubuntu 11.10中工作。
btnOne = QPushButton("One", self)
btnTwo = QPushButton("Two", self)
btnOne.clicked.connect(self.workForOne)
btnTwo.clicked.connect(self.workForTwo)
msgBox = QMessageBox()
msgBox.setText("<center>This is a custom question!</center>")
msgBox.setWindowTitle("Question")
msgBox.setWindowModality(Qt.ApplicationModal)
msgBox.addButton(btnOne, QMessageBox.ActionRole)
msgBox.addButton(btnTwo, QMessageBox.ActionRole)
msgBox.addButton(QMessageBox.Cancel)
msgBox.exec_()
我試過了,它仍然顯示頂部的Ubuntu任務欄。對齊也從屏幕中心改變到大約頂部中心。有沒有一種方法可以手動將它與屏幕的中心對齊,或者是否會繼承父對齊? – 12hys
實際上,這可以解決Ubuntu 11.04中的問題,但問題仍然存在於11.10中,不知道爲什麼。 – 12hys
可能是gnome2/3/unity之間的區別...... – Chris