Qt Creatorでボタン、スライダ、およびいくつかのラベルを使用してGUIを作成しました。Qt GUI(Python)でボタンを押したときに画像を表示する
私が試していること:ボタンを押すと、端末とラベルに、スライダの変更された値が印刷され、イメージが表示されます。多くのWebページが示唆しているように、私はpixmapメソッドを使用してイメージをラベルに表示しようとしています。これは、それがエラーを示していないが、画像が表示されていない、私の全体のコード
import sys
from PyQt4 import QtCore, QtGui, uic
qtCreatorFile = "mainwindow.ui"
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class myownGUI(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
#button
self.Do_button.clicked.connect(self.action)
#slider
self.SLIDER.valueChanged[int].connect(self.SLIDER_update)
#"global" variable init. by callback
self.SLIDER_update()
#The button callback
def action(self):
print "DOING ACTION!"
print self.Slider
#trying to display the image in the Image_label
image = QtGui.QImage(QtGui.QImageReader(":/images/test.png").read())
self.Image_label.setPixmap(QtGui.QPixmap(image))
#self.Image_label.show() #unuseful command?
#Slider update callback
def SLIDER_update(self):
self.Slider= self.SLIDER.value()
if (self.Slider % 2 == 0): #even
self.Slider = self.Slider + 1
self.Slider_label.setText(str(self.Slider))
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = myownGUI()
window.show()
sys.exit(app.exec_())
コードが実行される(GUIの構造がインポートmainwindow.uiファイル内にある)です。 JPGとPNGの両方の画像を試しました。画像が同じフォルダにある場合は、単純な画像名も試しました。
私のコードで何が間違っていますか? QTで画像をGUIの中に表示するもう1つの方法があります(Pythonで)?私は、スタックオーバーフローのすべての同様の質問を読み取ろうとUbuntuの14.04/Qtのバージョン4.8.6
:
はと仕事を事前に
、ありがとうございました。私の質問は重複しているようですが、答えのどれも私の問題を解決するものではありません。
EDIT:画像は
image = QtGui.QImage(QtGui.QImageReader("./test.png").read())
今の画像が表示されている
のように、同じフォルダであり、唯一の再スケーリングされるようにしているとき PRMoureu's syntaxを使用するには、それも動作します。
それは働きました!どうもありがとうございました。 – marcoresk