[Gelöst - durch Releasewechsel] PyQt5 event sender
[Gelöst - durch Releasewechsel] PyQt5 event sender
Hallo
Ich beginne mit Programmierung unter PyQt5. Mit der Funktion sender() kann man ja herausfinden, wie der jeweilige sender eines events heist. Nur liefert mir die Funktion sender().text() &sender, willl sagen den Namen des Senders mit dem Referenzzeichen & vorangestellt.
Inxi -S liefert:
System:
Host: debian Kernel: 4.19.0-17-amd64 x86_64 bits: 64
Desktop: KDE Plasma 5.14.5 Distro: Debian GNU/Linux 10 (buster)
Unter den neuen Debian Sid (Testing) habe ich kein solches Verhalten. Der Name des Senders wird ohne & angezeigt.
Kann man das einstellen? Ist das von der KDE Version abhängig?
Vielen Dank für eine Antwort.
Ich beginne mit Programmierung unter PyQt5. Mit der Funktion sender() kann man ja herausfinden, wie der jeweilige sender eines events heist. Nur liefert mir die Funktion sender().text() &sender, willl sagen den Namen des Senders mit dem Referenzzeichen & vorangestellt.
Inxi -S liefert:
System:
Host: debian Kernel: 4.19.0-17-amd64 x86_64 bits: 64
Desktop: KDE Plasma 5.14.5 Distro: Debian GNU/Linux 10 (buster)
Unter den neuen Debian Sid (Testing) habe ich kein solches Verhalten. Der Name des Senders wird ohne & angezeigt.
Kann man das einstellen? Ist das von der KDE Version abhängig?
Vielen Dank für eine Antwort.
Zuletzt geändert von kitebuggy am 22.08.2021 21:04:53, insgesamt 3-mal geändert.
Re: PyQt5 event sender
Vermutlich kann man einfacher/schneller helfen, wenn Du minimalen Beispielcode zeigst.
Re: PyQt5 event sender
Ja, Beispielcode kann ich liefern:
Anstatt daß nun beim klicken eines Buttons der Name sauber angezeigt wird, steht stattdessen dort:
&Button1 was pressed
respektive
Button &2 was pressed
Das Zeichen & wird iregendwo in den Text gesetzt.
Code: Alles auswählen
import sys
from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btn1 = QPushButton("Button 1", self)
btn1.move(30, 50)
btn2 = QPushButton("Button 2", self)
btn2.move(150, 50)
btn1.clicked.connect(self.buttonClicked)
btn2.clicked.connect(self.buttonClicked)
self.statusBar()
self.setGeometry(300, 300, 450, 350)
self.setWindowTitle('Event sender')
self.show()
def buttonClicked(self):
sender = self.sender()
self.statusBar().showMessage(sender.text() + ' was pressed')
def main():
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
&Button1 was pressed
respektive
Button &2 was pressed
Das Zeichen & wird iregendwo in den Text gesetzt.
Re: PyQt5 event sender
Hier auf sid passiert das nicht (btw testing ist nicht sid, sid ist unstable, testing ist testing).
Ich würde sagen, das ist nen Bug in pyqt. An kde wird es eher nicht liegen. Man könnte jetzt natürlich anfangen nach dem Fehler zu suchen - oder einfach etwa zwei Wochen warten, bis testing stable wird.
In Anbetracht dessen, dass der Fehler wohl bereits (absichtlich oder unabsichtlich) behoben wurde, würde ich das erstmal ignorieren und die Energie in was anderes stecken.
Ich würde sagen, das ist nen Bug in pyqt. An kde wird es eher nicht liegen. Man könnte jetzt natürlich anfangen nach dem Fehler zu suchen - oder einfach etwa zwei Wochen warten, bis testing stable wird.
In Anbetracht dessen, dass der Fehler wohl bereits (absichtlich oder unabsichtlich) behoben wurde, würde ich das erstmal ignorieren und die Energie in was anderes stecken.
Re: PyQt5 event sender
Ja, so sehe ich das jetzt auch, wenn testing in zwei Wochen stable wird, hat das effektiv keinen Mehrwert.
Hoffen wir, dass das Datum eingehalten wird.
Entschuldigung sid != testing. Habe da wohl etwas zu schnell geschrieben.
Vielen Dank für die Antworten.
Nur: Soll ich nun diesen Thread als gelöst angeben? Ist doch eher ein "workaround", obschon sich das Problem von selbst dann löst.
Hoffen wir, dass das Datum eingehalten wird.
Entschuldigung sid != testing. Habe da wohl etwas zu schnell geschrieben.
Vielen Dank für die Antworten.
Nur: Soll ich nun diesen Thread als gelöst angeben? Ist doch eher ein "workaround", obschon sich das Problem von selbst dann löst.
Re: PyQt5 event sender
Ich würd's erstmal so lassen, ist bisher ja keine echte Lösung.
Du könntest aber, wenn es dann soweit ist, noch mal berichten, ob das Update auch auf dem Rechner geholfen hat. Und dann ist vielleicht ein "[gelöst - durch Releasewechsel]" als Markierung ein Kompromiss?
Du könntest aber, wenn es dann soweit ist, noch mal berichten, ob das Update auch auf dem Rechner geholfen hat. Und dann ist vielleicht ein "[gelöst - durch Releasewechsel]" als Markierung ein Kompromiss?
Re: PyQt5 event sender
Ist 'ne gute Idee. Hoffenttlich denke ich noch daran
Re: PyQt5 event sender
Ich hab' dran gedacht