Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Hans-Peter Jansen Newsgroups: de.comp.lang.python Subject: =?utf-8?q?=5BPython-de=5D_Re=3A_New_overriden_and_generated_QLineEdit_class_will?= Date: Mon, 11 Oct 2021 12:22:24 +0200 Lines: 93 Message-ID: <1767402.5n8FseqJ0I@xrated> References: <22626993-ba87-4fb8-8a7d-b8c022a3e30en@googlegroups.com> <7578517.K5ixYmkLR7@xrated> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de 14rmkfJ9DcrbmnBAwrd92g6vRT2QUx2eV/jKNSs5EhpA== Authentication-Results: mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral X-Virus-Scanned: amavisd at 'smile.earth' In-Reply-To: X-Provags-ID: V03:K1:b83ggh5fhSvKA2jf24XMJLEBVkT1Th46ozFxMqbsSPNsKjaBMDC Z6KHmQ0W5EIqd3kMcRcRFuCJrdbuxq6V8GrOHpNu7VOKSOHC8DulC4mI0iHidCeA1sMjBDQ 7Veab9pgyjeSVcY9M6sWMzfu1V3+4BRG1QbD29GjjjSMjRW0JFjOJFuJPNVBMZkG8Gtnxlw cvbPdiVRQnxXIQGvu4r+A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:NtFG0UzstKw=:/Tf7kaOGnqXg2+jsT+AGXg gFnSKaF6sl1k8HTjEM9b8uE7NX7Ue6o5kRbA55o5nqhtFHEdRszMcx4IVQHXhMcWrePybI+SQ RAAuJeGFEhhFHSu+ETRhjP3U1uadhw4Pp5AXuczzC6djhq1sJ/KRay81zgvWFW5wIsJJKe5ce HvRRizmXRbo5hkTrb/vlKQHc2O0QTvxxmAgu6vBAG+3+c6Fac6gAcuSQ+NHzcjmHYu801YuwF RkXOYqUhXgzb2Tfp9rvlaYF7MAiwYM3V2esZ7gS5uR2sySAd+bt4cmt6f2gMawn41CrYNgw+D t6YVDul7nocV2DPViotYjkAewtOHde5tzVhYvMNMv5+w5/IKFez6lGL6oekTtSpUp7/jOoJqz FDjxpyiUqF60+ofyQP3w0+UGLkT/6h/1HUulttIZv7usqC22aswpsoMlsmkgix/l3Sbjg5XND 0OL9XYLu+ukUNXSlZ6Mzhpc8eD+jhuz0V5sMwtTUceKfVlz3Ufzb8q1XQhqwaHFdEaUlxFDQe o0Hmel7jCEkP0pZg0+3pxsPoYw1y3ZUkP49yciFRN4DRrgkwBYbr7U+THz16iY9EU3fNVBdjA xNgAsu5B9rjMKvpRMn6rk74mNeOm+q/cj1nZbe/vUNsMF7NQMWNODLL5ayT17iBnoVrYpNWmr u7Tw/aCnj/REA/KCQJ/4WzeVMboTQyaofaKWeS0su2wXkAIojb5/lgGJ4J9FU56G997qha49i AiTQTXn1qaYLDJ2IGg5Zk2Wz0iZwiyMEVdV9lg== Message-ID-Hash: T5MU3WDZF6NYAURBG4LC3PUJKM2BOX2B X-Message-ID-Hash: T5MU3WDZF6NYAURBG4LC3PUJKM2BOX2B X-MailFrom: hpj@urpla.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-python-de.python.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.5 Precedence: list List-Id: Die Deutsche Python Mailingliste Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com de.comp.lang.python:5752 Am Sonntag, 10. Oktober 2021, 22:36:40 CEST schrieb Mohsen Owzar: > Hans-Peter Jansen schrieb am Sonntag, 10. Oktober 2021 um 18:39:52 UTC+2: >=20 > Oh Manno Mann, Hans-Peter > Ich weiss nicht, wie ich mich bei Dir bedanken kann? > Wie die Schwizer sagen, ich bin Dir tuuusig Mal dankbar. Oh, ein Schwizer. Gr=FCezi. Ist Schwizer D=FCtsch jetzt eine Fremdsprache o= der=20 nicht? F=FCr mich als Rheinl=E4nder ist das schwer zu sagen. ;-) > > QMainWindows sind speziell im Umgang mit Widgets: > >=20 > > Wenn Qt so was raus haut, dann sollte man dem auf den Grund gehen: > > QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which > > already has a layout > Das Verhalten Deiner ge=E4nderten Version ist genau das, was ich vorgehabt > habe, zu programmieren und es mir nicht gelang. Na, das ist doch schon mal gro=DFartig, und es freut mich, geholfen zu habe= n. > Aber wie sollte ich darauf > kommen, dass bei QMainWindow der Hase ein bisschen anders l=E4uft? Ohne D= eine > Erkl=E4rung w=E4re ich nicht in 1000 Jahre darauf gekommen. Ich programmi= ere > mit Python seit etwa 10 Monaten. Na ja, die Qt-Klassenbibliothek ist so m=E4chtig und umfangreich, das wunde= rt=20 mich nicht. Python selbst ist ja schon anspruchsvoll, aber wenigstens sind = die=20 Grundkonzepte eing=E4ngig und viele Sprachelemente sehr m=E4chtig. Wenn jetzt aber auch Qt mit fast 2000 Klassen(!) hinzukommt, wird's, =E4hem= ,=20 interessant. Das erschlie=DFt sich nicht in kurzer Zeit. Ich verfolge die=20 Entwicklung von PyQt seit 2001 (kein Witz), kannst ja mal ein grep meines=20 Namens in den examples machen... Wichtig ist, die originale C++ Doku lesen zu k=F6nnen, mit der Zeit lernt m= an,=20 die wesentlichen Informationen herauszufiltern, das ganze C++ Brimborium zu= =20 ignorieren, und ein paar grunds=E4tzliche Unterschiede aufzul=F6sen (Argume= nt mit=20 address of value -> Mehrfachwert R=FCckgabe in Python, etc..). > Manche Zusammenh=E4nge sind mir noch nicht so ganz gel=E4ufig, wie die Sa= che mit > Parent und Co. und jetzt QMainWindow Spezialit=E4ten. > > Die richtige Initialisierung des keypad Wertes beim wiederholten Aufruf > > =FCberlasse ich Dir als Hausaufgabe.. >=20 > Die richtige Initialisierung habe ich nicht verstanden, was Du damit mein= st. Wenn Du schon einen Wert im line edit stehen hast, sollte dieser immer ins= =20 keypad =FCbernommen werden, sodass der user immer den aktuellen Wert bearbe= iten=20 kann. > Ich habe aber gesehen, wenn man auf das Feld geklickt hat und das > Keypyd-Fenster ge=F6ffnet wurde, kann man noch einmal in das Feld klicken= und > dort auch noch Character mit dem normalen Keyboard eintippen, was nicht d= er > Sinn der Sache ist. Daher habe ich in der Metode "show_keypad_window" das > Edit-Feld mit "self.cle.setReadOnly(True)" gesperrt und bei "closeEvent" > wieder freigegeben. Entweder w=FCrde ich das keypad modal machen, dann kannst Du aber immer ein= en=20 Wert bearbeiten oder mit signals und slots beide Werte simultan aktuell=20 halten. > Ich denke, dass ich damit diesen Fehler behoben habe. > Ich muss noch weitere Tests durchf=FChren, um vielleicht eine nicht gedda= chte > Version zu erwischen. > > Ich hoffe, das bringt Dich erst mal weiter. >=20 > Nicht nur weitergebracht, sondern auch die Augen ge=F6ffnet. > Vieeeelen Dank! Aber gerne doch. Bis denne, hp