Qt.Popup窗口标志需要什么?

时间:2016-11-20 00:09:22

标签: python qt user-interface pyqt5

我使用PyQT5创建GUI。基本上,我想要的是一个透明窗口,可以扩展屏幕的整个宽度和高度(包括MacOS上的工具栏和底座)

我用来实现此目的的代码是这样的:

filter_var(getenv('REQUEST_METHOD'));

我打开GUI就像这样:

class Gui(QWidget):
    def __init__(self):

    #Initialize the QApp/QWidget things
        super().__init__()

    #Add a default rectangle
        self.rectangle = QRect(0, 0, 0, 0)

    #Build the window in a method to keep the init clean
        self.buildWindow()

    #Build the window
        def buildWindow(self):

    #Make the window transparent
        self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint | Qt.Popup)
        self.setAttribute(Qt.WA_TranslucentBackground)
    #Maximize the window
        self.resize(1920, 1080)
    #Enable mouse tracking
        self.setMouseTracking(True)
    #Render the window
        self.show()

问题是GUI打开,渲染一秒钟,然后立即消失。如果我从窗口标记中删除#Instantiate our app and Gui stuff. app = QApplication(sys.argv) gui = Gui() #Make the cursor the "cross cursor" for effect app.setOverrideCursor(QCursor(Qt.CrossCursor)) #Exit when our app exits sys.exit(app.exec_()) ,它将完全按照我想要的方式执行(但它不会延伸到Dock或MacOS上的工具栏)

我听说这个问题是由于Python的垃圾收集系统而呈现的小部件导致(一般),但是我是不确定这是否是问题,因为如果删除Qt.Popup

实际呈现

任何有QT经验并且可以提供帮助的人都会很棒..我已经试图找出这个bug几天了。

编辑:如果你不能告诉我,我正在MacOS上开发这个

0 个答案:

没有答案