PyQt5:如何制作圆形应用?

问题描述 投票:0回答:1

我想将PyQt5应用制作为圆形。像这样:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9lYzV3bS5wbmcifQ==” alt =“预期的设计”>。

我已经使用qtDesigner创建了一个基本布局进行测试。它包含一个QFrame(名为“ mainFrame”),它是用样式表制作的。

我用mainWindow尝试了同样的方法...但是,我不知道如何使空的mainWindow不可见。

我使窗口无框架,改变了它的不透明度-但它影响了mainWindow内部的所有内容

基本测试应用程序:

“应用程序设计”

代码:

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(500, 500)
        self.mainFrame = QtWidgets.QFrame(Form)
        self.mainFrame.setGeometry(QtCore.QRect(10, 10, 481, 481))
        self.mainFrame.setFrameShape(QtWidgets.QFrame.WinPanel)
        self.mainFrame.setObjectName("mainFrame")
        QtCore.QMetaObject.connectSlotsByName(Form)

        Form.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
        Form.setStyleSheet("QFrame#mainFrame {\n"
        "    border: 5px solid grey;\n"
        "    border-radius: 240px;\n"
        "    background-color: rgba(255, 0, 0, 50);\n"
        "}\n"
        "QWidget#Form {\n"
        "    background-color: rgba(255, 255, 255, 0);\n"
        "    border: 5px solid grey;\n"
        "    border-radius: 250px;\n"
        "}")
        self.mainFrame.mouseDoubleClickEvent = lambda event: QtWidgets.qApp.quit()
        # Form.setWindowOpacity(0.4)
        # self.mainFrame.setWindowOpacity(1)

如何使圆形mainFrame及其内部的所有东西都出现?

我想将PyQt5应用制作为圆形。像这样的东西:。我已经使用qtDesigner创建了一个基本布局进行测试。它包含一个QFrame(名为“ mainFrame”),我用...

python python-3.x pyqt pyqt5
1个回答
0
投票

[QRegion :: QRegion(const QRect&r,QRegion :: RegionType t = Rectangle)] >>

这是一个重载的函数。

© www.soinside.com 2019 - 2024. All rights reserved.