0

我设计了以下窗口。但是,在运行代码时,RadioBoxes 停留在包含框架和字符串的布局后面。有人可以告诉我如何避免这种情况吗?

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys

class Window(QWidget):
    
    def __init__(self): 
        super().__init__()
  
        self.setWindowTitle('Window')
        self.setFixedSize(550,440)
        self.LaySelf = QGridLayout()

        self.initWidgets()
        self.initUI()

        self.show()

    def initWidgets(self):

        self.Panel = QFrame()
        self.Panel.setFrameStyle(QFrame.StyledPanel)
        self.Panel.setLineWidth(2)
        self.Panel.setStyleSheet('background-color:#f4f2f1')

        self.Btt = QRadioButton('Radio',self)

        self.Label = QLabel(' '*40+'Hi')

    def initUI(self):

        self.LaySelf.addWidget(self.Panel,0,0,-1,6)
        self.LaySelf.addWidget(self.Label,0,0,-1,6)

        self.setLayout(self.LaySelf)

        self.Btt.move(200,200)

App = QApplication(sys.argv) 
window = Window()
sys.exit(App.exec())
4

1 回答 1

0

为了在QFrame顶部制作单选按钮,您需要将其添加到 Frame。目前,单选按钮停留在覆盖布局的 Frame 后面。

替换QRadioButton('Radio',self)QRadioButton('Radio',self.Panel)

另外这里是另一个线程的链接,该线程演示了使用多个 QWidgets 的帧使用情况

于 2020-08-05T17:54:38.650 回答