小编Ben*_*des的帖子

PySide/PyQt Overlay小部件

我试图在PySide中实现这样的东西:https://codepen.io/imprakash/pen/GgNMXO 我想要做的是创建一个无框架的子窗口,下面是黑色覆盖层.

我没有成功创建一个无框架子窗口和覆盖...

这是复制HTML的基本代码:

from PySide import QtCore, QtGui
import sys

class MainWindow(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.resize(800, 500)

        self.button = QtGui.QPushButton("Click Me")

        self.setLayout(QtGui.QVBoxLayout())
        self.layout().addWidget(self.button)

        # Connections
        self.button.clicked.connect(self.displayOverlay)


    def displayOverlay(self):
        popup = QtGui.QDialog(self)
        popup.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        popup.setLayout(QtGui.QHBoxLayout())
        popup.layout().addWidget(QtGui.QLabel("HI"))
        popup.show()
        print "clicked"

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

如果用FramelessWindowHint注释该行,窗口会出现,否则什么都不会发生......

我真的希望有人可以帮助我.感谢您花时间阅读我的问题.

python pyqt pyside

1
推荐指数
1
解决办法
3791
查看次数

标签 统计

pyqt ×1

pyside ×1

python ×1