在pyqt中添加两个布局
Posted
技术标签:
【中文标题】在pyqt中添加两个布局【英文标题】:add two layouts in pyqt 【发布时间】:2020-06-15 11:25:43 【问题描述】:我正在尝试将图像放在单选按钮之外,但我只能显示其中一个,那么如何在同一页面中的单选按钮旁边添加图像。
def SecondPage(self):
layout = QGridLayout()
rd1 = QRadioButton('r1')
rd2 = QRadioButton('r2')
rd3 = QRadioButton('r3')
rd3.setChecked(True)
vbox = QVBoxLayout(self)
labelImage = QLabel(self)
pixmap = QPixmap('b.png')
labelImage.setPixmap(pixmap)
vbox.addWidget(labelImage, alignment=Qt.AlignCenter)
page.setLayout(layout)
【问题讨论】:
请提供minimal, reproducible example。 【参考方案1】:如果你的意思是“除了”为“下面”
def SecondPage(self):
layout = QHBoxLayout(self)
rd1 = QRadioButton('r1')
labelImage = QLabel(self)
pixmap = QPixmap('b.png')
labelImage.setPixmap(pixmap)
vbox = QVBoxLayout()
vbox.addWidget(rd1)
vbox.addWidget(labelImage, alignment=Qt.AlignCenter)
layout.addLayout(vbox)
rd2 = QRadioButton('r2')
pixmap = QPixmap('b.png')
labelImage.setPixmap(pixmap)
vbox = QVBoxLayout()
vbox.addWidget(rd2)
vbox.addWidget(labelImage, alignment=Qt.AlignCenter)
layout.addLayout(vbox)
rd3 = QRadioButton('r3')
rd3.setChecked(True)
pixmap = QPixmap('b.png')
labelImage.setPixmap(pixmap)
vbox = QVBoxLayout()
vbox.addWidget(rd3)
vbox.addWidget(labelImage, alignment=Qt.AlignCenter)
layout.addLayout(vbox)
self.second_page.setLayout(layout)
【讨论】:
当我运行你的代码时,我得到'function'对象没有属性'setLayout' 在填写内容之前需要先创建。例如,self.second_page = QWidget(); self.second_page.show()
你能更新你的完整代码吗? self.second_page
应该是一个小部件,而不是一个函数。
它工作正常,但我希望单选按钮垂直而不是水平,提前谢谢
3 个垂直按钮,旁边是一张图片,即“b.png”以上是关于在pyqt中添加两个布局的主要内容,如果未能解决你的问题,请参考以下文章