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

时间:2015-12-08 21:03:00

标签: python window icons pyqt4

我用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()

1 个答案:

答案 0 :(得分:0)

在QLabel上使用.setGeometry方法(lbl

如果您希望图片位于最右侧,可以像这样在HBoxLayout中添加空格项:

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