【问题标题】:add two layouts in pyqt在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)

【问题讨论】:

标签: python pyqt pyqt5


【解决方案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”
猜你喜欢
  • 1970-01-01
  • 2022-01-09
  • 2017-05-10
  • 2018-08-14
  • 2021-06-27
  • 2016-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多