在QPushButton上放置图片
我刚开始学习PyQt,手上有一张图片叫做 add.gif
。我想把这张图片放到一个 QPushButton
按钮上,但我不知道该怎么做。
3 个回答
2
假设pyqt支持gif图片,这段代码应该可以正常工作。
icon = QtGui.QPixmap('add.gif')
button = QtGui.QPushButton()
button.setIcon(icon)
按钮可以显示一段文字标签,另外还可以选择性地显示一个小图标。你可以在创建按钮的时候设置这些内容,之后也可以通过调用setText()和setIcon()来更改它们。如果按钮被禁用,那么文字和图标的样子会根据界面的风格进行调整,让按钮看起来像是“不可用”的状态。
4
这是来自@NorthCat的同一个例子,不过是针对PyQt5的:
from PyQt5 import QtGui, QtCore
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QVBoxLayout
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
self.button = QPushButton('', self)
self.button.clicked.connect(self.handleButton)
self.button.setIcon(QtGui.QIcon('myImage.jpg'))
self.button.setIconSize(QtCore.QSize(200,200))
layout = QVBoxLayout(self)
layout.addWidget(self.button)
def handleButton(self):
pass
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
20
示例:
from PyQt4 import QtGui, QtCore
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.button = QtGui.QPushButton('', self)
self.button.clicked.connect(self.handleButton)
self.button.setIcon(QtGui.QIcon('myImage.jpg'))
self.button.setIconSize(QtCore.QSize(24,24))
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.button)
def handleButton(self):
pass
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())