Ich möchte eine Verbindung ein einfaches Programm mit einer PyQt GUI erstellen. Dazu verwendete ich Qt Designer, und ich machte ein Fenster mit einem Druckknopf OpenImage
benannt. Außerdem habe ich eine Datei rony.py genannt, die eine Funktion show
hat. Deshalb möchte ich, dass, wenn der Benutzer auf die Schaltfläche klickt, wird das Bild angezeigt.Wie eine QPushButton auf eine Funktion
Dies ist mein Code:
from PyQt4 import QtCore, QtGui
import rony
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(800, 600)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.horizontalLayout = QtGui.QHBoxLayout(self.centralwidget)
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.OpenImage = QtGui.QPushButton(self.centralwidget)
self.OpenImage.setObjectName(_fromUtf8("OpenImage"))
self.horizontalLayout.addWidget(self.OpenImage)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
self.OpenImage.setText(_translate("MainWindow", "PushButton", None))
OpenImage.connect(show()) # Why this line don't work
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
rony.py
from PIL import Image
img = Image.open("pipe.png")
def show():
img.show()