Python - 如何删除窗口边框?我已将Qt中的UI导入Python并应用了setWindowFlags

3 python linux fedora pyqt pyqt4

如何使这个窗口无边框(删除最小化/最大化/关闭)?

在此输入图像描述

  1 import sys
  2 from PyQt4 import QtCore, QtGui
  3 from qt import Ui_MainWindow
  4 
  5 class StartQT4(QtGui.QMainWindow):
  6     def __init__(self, parent=None):
  7         QtGui.QWidget.__init__(self, parent)
  8         self.ui = Ui_MainWindow()
  9         self.ui.setupUi(self))
 10         
 11 if __name__ == "__main__":
 12     app = QtGui.QApplication(sys.argv)
 13     myapp = StartQT4()
 14     myapp.show()
 15     app.setWindowFlags(app.FramelessWindowHint) <<< does not working
 16     sys.exit(app.exec_())
 17     
Run Code Online (Sandbox Code Playgroud)

mat*_*ata 6

您需要在调用show主窗口之前设置窗口标志.

最小的工作示例如下所示:

import sys
from PyQt4 import QtCore, QtGui

class StartQT4(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(StartQT4, self).__init__(parent)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.b = QtGui.QPushButton("exit", self, clicked=self.close)

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = StartQT4()
    myapp.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)