Hallo Leute,
ich bin ein absoluter Anfänger was Python betrifft und versuche gerade mir die Sprache selber beizubringen.
Etwas Erfahrung im Umgang mit C++ habe ich noch aus den 80ern, ja ist ne weile her.
Ich habe mir im Internet einige Youtube Videos angesehen und habe mit dem Qdesigner und Spyder3 meine Bekanntschaft gemacht.
Leider wird in vielen Beispiel-Videos Windows als OS benutzt und das Einbinden des ui-Files gezeigt. Ich rufe das aber im Code nur auf und die Vorgehensweise ist etwas anders als sie gezeigt wird.
Ich hoffe Ihr versteht was ich damit sagen will.
Es ist ein kleines Programm das nur aus einem Label und zwei Pushbutton besteht.
Das erste Bild wird über den QDesigner pixmap geladen.
Mit den jeweiligen Tasten (Bild 1 und Bild 2) soll ein anderes Bild geladen werden.
Kann mir bitte jemand einen Schubs in die richtige Richtung geben ?
Die Syntax :
w.bild_lbl.pixmap('b33.jpeg')
ist falsch.
Wie lade ich ein Bild in ein Label ??
Vielen Dank schon mal im voraus.
Gruß
Thomas
#-------------------------------------------------------------------------
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed May 12 18:41:28 2021
@author: thomas
"""
import sys
import PyQt5.QtCore as core
import PyQt5.QtWidgets as widgets
import PyQt5.QtGui as gui
import PyQt5.uic as uic
app = widgets.QApplication(sys.argv)
w = uic.loadUi("bild_test.ui")
w.bild_1_btn.setText("Bild 1")
w.bild_2_btn.setText("Bild 2")
def bild1():
w.bild_lbl.pixmap('b33.jpeg')
#def bild2():
w.bild_1_btn.clicked.connect(bild1)
#w.bild_2_btn.clicked.connect(bild2)
w.show()
sys.exit(app.exec_())
#-------------------------------------------------------------------------
Bild im label aus dem Code anzeigen...
Bevor Du ein Pixmap verwenden kannst, mußt Du eines erzeugen.
Funktionen müssen alle Objekte, die sie brauchen, über ihre Argumente bekommen, `w` kommt in bild1 aber aus dem Nichts.
`w` ist auch kein guter Variablenname, die sollten aussagekräftig sein.
Funktionen müssen alle Objekte, die sie brauchen, über ihre Argumente bekommen, `w` kommt in bild1 aber aus dem Nichts.
`w` ist auch kein guter Variablenname, die sollten aussagekräftig sein.
Code: Alles auswählen
#!/usr/bin/env python3
import sys
import PyQt5.QtCore as core
import PyQt5.QtWidgets as widgets
import PyQt5.QtGui as gui
import PyQt5.uic as uic
from functools import partial
def bild1(window):
bild = gui.QPixmap('b33.jpeg')
window.bild_lbl.setPixmap(bild)
def main():
app = widgets.QApplication(sys.argv)
window = uic.loadUi("bild_test.ui")
window.bild_1_btn.setText("Bild 1")
window.bild_2_btn.setText("Bild 2")
window.bild_1_btn.clicked.connect(partial(bild1, window))
window.show()
sys.exit(app.exec())
if __name__ == '__main__':
main()
- __blackjack__
- User
- Beiträge: 13080
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@linuxer7: Das ist vergleichbar mit ``std::bind()`` in C++. Wobei es das in den 80ern noch nicht gab. Jedenfalls nicht in der C++-Standardbibliothek.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman