2012-03-27 55 views
0

這是Mac OS QT問題,在QToolBar在Mac甚至無法設置setUnifiedTitleAndToolBarOnMac標誌

我創建了一個的QMainWindow並添加了一個工具欄之後統一。

設置爲「setUnifiedTitleAndToolBarOnMac」標誌爲TRUE後,我的工具欄被統一到我的主窗口。

當我自定義窗口按鈕比如只關閉按鈕選項,

我的窗口工具欄得到了標題欄分離,如果它看起來像一個winodow OS工具欄

不喜歡Mac原生的一個。

附上我的測試代碼,下面是pyqt。

希望有人知道如何實現它。

感謝

from PyQt4 import QtGui 
from PyQt4 import QtCore 

class Ui_windo(QtGui.QMainWindow): 

    def __init__(self,parent=None): 
     QtGui.QMainWindow.__init__(self, parent) 

     self.setObjectName("windo") 
     self.resize(400, 300) 
     self.setWindowTitle(QtGui.QApplication.translate("window", "window", None, QtGui.QApplication.UnicodeUTF8)) 

     self.b1 = QtGui.QToolButton() 
     self.b1.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly) 
     self.b1.setText('Test') 
     self.b1.setObjectName("b1") 
     self.b1.setCheckable(True) 

     _toolBar = self.addToolBar('test') 
     _toolBar.setMovable(False) 
     _toolBar.addWidget(self.b1) 
     self.setUnifiedTitleAndToolBarOnMac(True); 
     _windowButtons = QtCore.Qt.Window| QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.CustomizeWindowHint 
     self.setWindowFlags(_windowButtons) 


if __name__ == "__main__": 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    ui = Ui_windo() 
    ui.show() 
    sys.exit(app.exec_()) 

回答

0

似乎Qt.CustomizeWindowHint標誌除去從工具欄的樣式。不知道這是預期的行爲還是錯誤。與setUnifiedTitleAndToolBarOnMac有關的一些風格相關的錯誤報告。你應該發佈它來確認它是否符合預期。

https://bugreports.qt-project.org/secure/IssueNavigator.jspa

如果你設置你的窗口標誌使用Qt.Tool,這將至少讓你接近通過刪除最小化按鈕。