我想使用PyQt4在我的表单上显示一张图片。
这是我的代码:
import sys
from PyQt4 import QtGui, QtCore
class myWindow(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
#The setGeometry method is used to position the control.
#Order: X, Y position - Width, Height of control.
self.resize(500,350)
self.center()
self.setWindowTitle("Sergio's QT Application.")
self.setWindowIcon(QtGui.QIcon('menuScreenFolderShadow.png'))
self.setToolTip('<i>Welcome</i> to the <b>first</b> app ever!')
QtGui.QToolTip.setFont(QtGui.QFont('Helvetica', 12))
self.txtFirstName = QtGui.QLineEdit('', self)
self.txtFirstName.setGeometry(35, 35, 150, 20)
self.txtLastName = QtGui.QLineEdit('', self)
self.txtLastName.setGeometry(35, 60, 150, 20)
self.pictureA = QtGui.QIcon("C:\Users\Sergio.Tapia\Downloads\Palm.png")
self.pictureA.setGeometry(128,128, 200, 200)
btnSubmit = QtGui.QPushButton('Say hello.', self)
btnSubmit.setGeometry(340, 250, 150, 35)
self.connect(btnSubmit, QtCore.SIGNAL("clicked()"), self.clicked)
btnQuit = QtGui.QPushButton('Exit Application', self)
btnQuit.setGeometry(340, 300, 150, 35)
self.connect(btnQuit, QtCore.SIGNAL('clicked()'),
QtGui.qApp, QtCore.SLOT('quit()'))
def clicked(self):
QtGui.QMessageBox.about(self, "Just dropped by to say hi!", "Welcome to this tutorial %s %s!" % (
self.txtFirstName.text(), self.txtLastName.text()))
def center(self):
screen = QtGui.QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
app = QtGui.QApplication(sys.argv)
mainForm = myWindow()
mainForm.show()
sys.exit(app.exec_())
它说:
追踪(最近的呼叫最后):
文件 “C:\用户\ Sergio.Tapia \文件\的NetBeansProjects \ PyQTTests \ SRC \ pyqttests.py”, 第47行,在 mainForm = myWindow()文件“C:\ Users \ Sergio.Tapia \ Documents \ NetBeansProjects \ PyQTTests \ src \ pyqttests.py”, 第25行,在 init 中 self.pictureA.setGeometry(128,128,200,200)AttributeError:'QIcon' object没有属性'setGeometry'
如果我删除了setGeometry行,则应用程序启动但图片不会显示在任何地方。谢谢你的帮助!
答案 0 :(得分:1)
有很多方法,例如使用QPixmap
类。我再次鼓励您查看PyQt提供的示例。例如,examples\animation\appchooser\
或examples\widgets\icons\