如何使用PyQt4在Python中并排放置三个图标?

2024-04-25 08:34:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python写了一个小程序,现在我有3个按钮并排在一起,我可以在每个按钮上放一个图标。如何只显示图标而不是带图标的按钮?我希望你明白我的意思。我只想删除我的按钮和显示图标。你知道吗

这是我的密码:

import sys
from PyQt4 import QtGui

class Example(QtGui.QMainWindow):
 def __init__(self):
  super(Example, self).__init__()
  self.initUI()

 def initUI(self):
  self.statusBar().showMessage('Start the game!')
  self.setGeometry(300, 300, 250, 150)
  panel = QtGui.QWidget()
  grid = QtGui.QGridLayout()
  p1 = QtGui.QPushButton("")
  p1.setIcon(QtGui.QIcon('image1.jpg'))
  p2 = QtGui.QPushButton("")
  p2.setIcon(QtGui.QIcon('image2.jpg'))
  p3 = QtGui.QPushButton("")
  p3.setIcon(QtGui.QIcon('image3.jpg'))

  p1.setMaximumHeight(1000)
  p2.setMaximumHeight(1000)
  p3.setMaximumHeight(1000)

  grid.addWidget(p1,0,0)
  grid.addWidget(p2,0,1)
  grid.addWidget(p3,0,2)

  panel.setLayout(grid)
  self.setCentralWidget(panel)
  self.setWindowTitle('MyGame')    
  self.show()

def main():
  app = QtGui.QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

if __name__ == '__main__':
 main()

Tags: selfexampledefsys按钮grid图标p2
1条回答
网友
1楼 · 发布于 2024-04-25 08:34:40

在QLabel(lbl)上使用.setGeometry方法

如果您希望图像位于最右侧,可以向HBoxLayout添加一个空格项,如下所示:

lbl.setGeometry(0,0,100,100)
spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
hbox.addItem(spacerItem)

相关问题 更多 >