Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5746
| Path | csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail |
|---|---|
| From | Hans-Peter Jansen <hpj@urpla.net> |
| Newsgroups | de.comp.lang.python |
| Subject | [Python-de] Re: New overriden and generated QLineEdit class will |
| Date | Sat, 09 Oct 2021 15:10:57 +0200 |
| Lines | 160 |
| Message-ID | <2489059.7TxBIyBedf@xrated> (permalink) |
| References | <22626993-ba87-4fb8-8a7d-b8c022a3e30en@googlegroups.com> <2024386.nlPfB5tcfk@xrated> <61d705ff-d5cc-4b08-bd26-af0af09a8a64n@googlegroups.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| Content-Transfer-Encoding | quoted-printable |
| X-Trace | news.uni-berlin.de /R8qUrBqrZhRQkpYENovigYorQeI3t0eV7lhOEmO6eLg== |
| 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 | <61d705ff-d5cc-4b08-bd26-af0af09a8a64n@googlegroups.com> |
| X-Provags-ID | V03:K1://dxZC2fBKZlwaskXIQrjiZ9d7JGjHDQz4AuIUd0k2oBcZ0MCOo gF6J2Dg71QIJz7oP7+FDYoWEDnYlJfHdHhaWM9c1Sy4+qK4JCMahP99uGzYnzDCbSmLLGFQ seC/w5T1TiiPLVhfqcvqt0HkGc4Ke5eYN8hsAgkqDSCQkJh+Rt88UkV365wWmO9qwUEuGBV OpqiXnR93yKcI6zVoHPJQ== |
| X-Spam-Flag | NO |
| X-UI-Out-Filterresults | notjunk:1;V03:K0:6x/ZTXWJxHE=:xpkGdFMbZ89r58xzzc3UEs xKCmIsrtTQB2rPqohb81jM4QMttLcmUlQ8IuvNh5hZnntAIm1asqI3XPIwIGG0m3v9+ed3IqF /TqaShx8DZO6mVYBMOTpHtP5oR9XfgfhYb3AxKKt6FOtGJ3K2D1bfYFTEGP3t8cB69UImFKjc 5zslCMktOOFJ5lR9T5TWWKwuJ7nO1DfuY68Av/7xg0Fza3NwZ3/yXsfSK7pG25mNwOoR0HLue tSpSnS1OUSSOxxanp1huhBKcWJfNzh2RISERrmrAkLWZP70MdwtYkShCTxwk3nvb/zk99jc64 yBpKlLF79lUXxCaeGkx37cqR7yM7vWQfI7LmeCsp2FoGR9Rxgk2cUSva4rf/EMBT0E5u9Y5KX pqUkrtesRXLfTCnEHHP+Lic0s4fEkgM7aoEM4SAtg0G10lEjPUhgR1HbtNwMeOzq0r78a0GTt TBtgCBISraF/NO4GYCXmGKtp1inupeD0YyygVprJmHQL2aHJzsiUfoVH7/tJ4ghOTx3ibJjXM ySGPVKhzbJy7KSw9EHLmmUWzDLdakt7U+MFJKYOt9mGcT6mBOLCS6iIH26nXukeG0uW5oAajT 6erpXTrFwEkycGvtcPiWLimsmZexP892lObLTUfg+KPlokQI4MzJA9BlpPEK/x6ANzC9L6kKN fvV3iBXni0/AEtvYAM+sowB7407Gpps09+jAmQXKYsQiQ9Hhh0q7TVsGMWRT0KzM0YDPMSCZB GZ94iSnXlww5RoZy3HCIVhJqXNq6Th4BRoCg6Z1VxhocFHsHfTOa6ES6SMgkZ1DMJ0ioErJLu A5yIgMD |
| Message-ID-Hash | CVUASBMC3MLCGZMBYZA242Y63PKHLANU |
| X-Message-ID-Hash | CVUASBMC3MLCGZMBYZA242Y63PKHLANU |
| 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 <python-de.python.org> |
| Archived-At | <https://mail.python.org/archives/list/python-de@python.org/message/CVUASBMC3MLCGZMBYZA242Y63PKHLANU/> |
| List-Archive | <https://mail.python.org/archives/list/python-de@python.org/> |
| List-Help | <mailto:python-de-request@python.org?subject=help> |
| List-Owner | <mailto:python-de-owner@python.org> |
| List-Post | <mailto:python-de@python.org> |
| List-Subscribe | <mailto:python-de-join@python.org> |
| List-Unsubscribe | <mailto:python-de-leave@python.org> |
| Xref | csiph.com de.comp.lang.python:5746 |
Show key headers only | View raw
Hallo Mohsen, okay, auf ein Neues. Zuvor ein kurzer Hinweis: ich vermute, Du hast noch nicht so viel Erfahrung im Umgang mit Email in solchen Foren, und ich möchte Dir auch nicht vor den Kopf stoßen, aber im Prinzip tust Du es aber mit Deinen Lesern.. Ohne jetzt groß und breit die Netiquette zu erklären, hier ein Auszug: Zitieren durch Einrücken (mit "> " vor jeder Zeile – und ohne Veränderung des Wortlautes) und Weglassen überflüssiger Informationen (Nicht immer alles zitieren!) Am Samstag, 9. Oktober 2021, 06:10:02 CEST schrieb Mohsen Owzar: > > Danke Hans-Peter für Deine Antwort. > Ich wurde auch von Lars benachrichtigt, dass ich auf der falschen Seite > (Deutsch) meine Frage in Englisch gestellt habe. Damit ich nicht noch eine > Frage aufmache, werde ich unten meine Frage noch einmal auf Deutsch > stellen. > Aber zuerst zu Deinen Fragen: > > Vielleicht solltest Du erst mal versuchen, dein Problem möglichst kurz zu > > formulieren. Ich kann hier nur eine Ablaufbeschreibung finden. > > Ich dachte, dass ich das getan hätte und dass ich zu viel geschrieben habe. > OK, wenn es so ist, ist nachfolgend eine kurze Beschreibung meines > Problems: Ich muss eine GUI für eine Relais-Test-Ablauf-Steuerung > schreiben, die in der Lage ist, durchs Betätigen einiger «Buttons» die > Kontakte zu schliessen oder zu öffnen. Man kann die Wartezeit für die > Schliess- / Öffnen-Zeit individuell für jeden Test einstellen. Dafür gibt > es einen Button auf der Haupt-GUI (Settings), mit dessen Hilfe man auf das > Settings-Fenster gelangt. Auf diesem Fenster befinden sich mehrere > QLineEdit-Felder, die unter anderem für die einigen Zeit-Einstellungen > zuständig sind. > > Jetzt kommt mein Problem und Anliegen: > Da am Ende, dieses Programms auf einem Raspberry Pi unter Linux laufen soll > und nur ein Tablet mit Touchscreen und kein Keyboard vorhanden ist, habe > ich um jedes Edit-Feld einen Button «Plus» oder «Minus» hinzugefügt, die > den angezeigten Wert im Feld erhöhen oder erniedrigen. Wenn aber der > gewünschte Wert sehr weit vom angezeigten Wert liegt, muss man mehrere Male > klicken, um den Endwert zu erreichen. Damit es schneller geht, habe ich mir > gedacht, dass ich mit einem Klick in dem Edit-Feld mit der Maus / Finger > auf dem Tablet ein neues von mir geschriebenes Keypad-Objekt öffne, mit > dessen Hilfe man den Endwert sofort eintippt und mit OK diesen Wert in das > Edit-Feld übernimmt. Jetzt kenne ich Deine Aufgabe und einige Ideen, weiß ich aber immer noch nicht, wo genau Dein Problem liegt? Vielleicht liegt es ja an mir. Ich bin ja schon ein ziemlich alter Knochen. Also hilf mir, Dein spezifischen Problem zu verstehen. So etwas wie: ich erwarte dieses Verhalten, bekomme aber jenes Verhalten. > > Ein whitespace damaged code ist ziemlich unbrauchbar, you know > Das habe ich nicht verstanden, was Du damit meinst. white space damaged ist besonders für Python code ziemlich blöd, weil die fehlenden Einrückungen den Code unbrauchbar machen. Generell sollte solcher code so eingefügt werden, dass ein cut und paste möglich ist. > Damit es klar wird, werde ich den Link zu meinen eigentlichen > GUIs-Screenshots auch hinzufügen, um es besser verstehen zu können. > > Screenshot von MainWindow-GUI: https://imgur.com/I1Fdf2f > Screenshot von Settings-GUI: https://imgur.com/Ot1OF4J > > Wenn ich auf dem Settings-Fenster (in meinem Beispiel Window 1 oder > MainWindow) bin, wo die ganzen QLineEdit-Felder vorhanden sind, sind alle > Felder sichtbar. Man kann ihre Werte entweder mit «+» oder «-» ändern oder > mit einem Klick in das Feld das Keypad-Fenster (in meinem Beispiel > Keypad_Window) öffnen. Aber dieses Fenster muss erst dann erscheinen, wenn > auf das Feld eingeklickt wird. In meinem Beispiel-Code erscheint das > «Window 1» (die original GUI Settings) ohne Edit-Feld Okay, so langsam dämmert es mir. Aber versuche mal den Beispielcode so einzufügen/bereitzustellen, dass die Ausführung per cut und paste gelingt. Du kannst Objekte in .show() und .hide() sichtbar machen und wieder verstecken. > > Schau mal in die PyQt Beispiele, da solltest du alle Arten von > > subclassing, event handling, und so finden. Wichtig sind da noch die > > return codes aus den event handlern > > Ja, ich habe die verschieden Versionen gesehen. Gerade deswegen bin ich > verwirrt. Ich weiss nicht, wann ich die «__init__()» und «super()» Zeilen > so leer lasse und wann bringe ich in «__init__» das Argument «parent=None» > und «parent» in «Super().__init__(parent)». In verschiedenen Beispiele sind > manchmal die eine Version in den anderen die andere Version oder sogar > manchmal eine Kombination der beiden. Ich konnte daraus nicht schlau > werden. Nirgendwo habe ich eine einfache klare Dokumentation bei meinen > Google-Searches zu diesem Thema gefunden. Wie Du z. B. in Deinem Vorschlag > erwähnt hast, warum soll ich den "init"-Part wegnehmen. Was hat das zur > Folge, wenn es dadrin ist? > > Daher meine Frage, ob jemand mir wirklich erklären kann, wann ich die > Argument-Felder leer lasse und wann ich sie befüllen muss. Ich hoffe, dass > mit oben gesagten / geschriebenen Du mein Problem besser verstehst und > vielleicht mir eine Ausweg zeigst. parent ermöglicht es, eine baumartige Eltern/Kind Beziehung zwischen Objekten (QObjects) aufzubauen. Anders als im echten Leben ist die Idee dabei, dass Kinder mit Ihren Eltern sterben. Wie im echten Leben hat diese Beziehung auch Seiteneffekte. Z.B, Du hast einen Dialog, der einen anderen Dialog aufruft. Wenn Du jetzt den Eltern-Dialog schließt und willst, dass der Kind-Dialog auch verschwindet, dann solltest Du dem Kind das parent-Argument mitgeben. Seiteneffekt ist dabei, dass der Kind-Dialog über dem Eltern-Dialog zentriert. Wichtig ist parent für von QObjects ableiteten Subklassen, um hier weiterhin eine explizite Eltern/Kind Beziehung zu erlauben/ermöglichen. Ziel ist dabei, Objekte so lange wie nötig und so kurz, wie möglich am Leben zu erhalten. Innerhalb von Dialogen/Composite Widgets z.B. wird heutzutage meistens eine implizite Beziehung über Layouts hergestellt. Aber wie im echten Leben wird das Beziehungsleben irgendwann kompliziert. Cheers, Pete
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
New overriden and generated QLineEdit class will not be placed on the MainWindow as expected Mohsen Owzar <mohsen.owzar@gmail.com> - 2021-10-08 02:14 -0700
[Python-de] Re: New overriden and generated QLineEdit class will not Lars Liedtke <liedtke@punkt.de> - 2021-10-08 12:20 +0200
[Python-de] Re: New overriden and generated QLineEdit class will not Hans-Peter Jansen <hpj@urpla.net> - 2021-10-08 18:02 +0200
Re: [Python-de] Re: New overriden and generated QLineEdit class will not Mohsen Owzar <mohsen.owzar@gmail.com> - 2021-10-08 21:10 -0700
[Python-de] Re: New overriden and generated QLineEdit class will Hans-Peter Jansen <hpj@urpla.net> - 2021-10-09 15:10 +0200
Re: [Python-de] Re: New overriden and generated QLineEdit class will Mohsen Owzar <mohsen.owzar@gmail.com> - 2021-10-09 10:54 -0700
Re: [Python-de] Re: New overriden and generated QLineEdit class will Mohsen Owzar <mohsen.owzar@gmail.com> - 2021-10-09 11:07 -0700
[Python-de] Re: New overriden and generated QLineEdit class will Marco Bakera <pintman@bakera.de> - 2021-10-10 09:23 +0200
[Python-de] Re: New overriden and generated QLineEdit class will Hans-Peter Jansen <hpj@urpla.net> - 2021-10-10 18:39 +0200
Re: [Python-de] Re: New overriden and generated QLineEdit class will Mohsen Owzar <mohsen.owzar@gmail.com> - 2021-10-10 13:36 -0700
[Python-de] Re: New overriden and generated QLineEdit class will Hans-Peter Jansen <hpj@urpla.net> - 2021-10-11 12:22 +0200
Re: [Python-de] Re: New overriden and generated QLineEdit class will Mohsen Owzar <mohsen.owzar@gmail.com> - 2021-10-11 04:47 -0700
csiph-web