我对setUnifiedTitleAndToolBarOnMac有疑问。我了解这仅适用于QMainWindow。
是否有一种方法可以将其传播到其他小部件。使用以下代码,仍会显示QWidget的图块和工具栏(两次)。
class Ui_MainWindow(object):
def show_form(self):
self.EditLabel = QtWidgets.QWidget()
self.EditLabel.setWindowTitle('Form Title')
self.EditLabel.show()
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
MainWindow.setWindowTitle("MainWindow")
MainWindow.setUnifiedTitleAndToolBarOnMac(True)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setToolTip("")
self.centralwidget.setObjectName("centralwidget")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(80, 210, 113, 32))
self.pushButton_2.setObjectName("pushButton_2")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
self.pushButton_2.clicked.connect(self.show_form)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
self.pushButton_2.setText(_translate("MainWindow", "show"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
看起来我可以通过设置解决此问题
self.EditLabel.setWindowFlags(Qt.Dialog)
对于我想要的东西已经足够了。