[gelöst] Radiobutton allways checked in Linux

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
NoCee
Beiträge: 137
Registriert: Do 3. Mär 2011, 21:34
OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2 (L 1.8.0 FPC 3.0.4 )
CPU-Target: 32/64Bit
Wohnort: Ulm

[gelöst] Radiobutton allways checked in Linux

Beitrag von NoCee »

Hallo zusammen,

hab bisher eine Software auf Windows am Laufen. Jetzt hab ich sie auf einen Opensuse Leap15.3 geholt
und habe hier das Problem, daß Radiobuttons immer checked sind.
Für eine reine Anzeigefunktion hab ich auf einer Form 10 kleine panels mit je "nur" 1 Radiobutton drauf.
Unter Windows sind diese Radiobuttons bei Programmstart wie in der IDE angegeben checked auf false.
Unter Linux kann ich das in der IDE gleich gar nicht auf false setzen. Da steht dann als Hinweis "allways checked"
Zur Laufzeit bekomme ich den Status auch nicht geändert.

Kann mir jemand erklären warum das unter Linux so ist, ich kann mir da keinen Reim drauf machen.
Für Infos wäre ich dankbar.

Gruß
NoCee
Zuletzt geändert von NoCee am Mi 8. Sep 2021, 14:56, insgesamt 1-mal geändert.

Warf
Beiträge: 1575
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: MacOS | Win 10 | Linux
CPU-Target: x86_64
Wohnort: Aachen

Re: Radiobutton allways checked in Linux

Beitrag von Warf »

Die LCL benutzt im Hintergrund andere Bibliotheken über sog. widgetsets unter Linux GTK2 oder QT5. Es kann sein das das einfach das Widgetset das nicht zulässt.

Ergibt auch Sinn da Radiobuttons verwendet werden um genau eine option aus mehreren zu wählen. Ein radiobutton kann auch vom nutzer nicht geunchecked werden, wenn also einmal ausgewählt kann der User die eingabe nicht mehr rückgänig machen, weshalb es grundsätzlich keinen sinn macht so einen mechanismus einzubauen

Benutzeravatar
Winni
Beiträge: 913
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.0.12, fpc 3.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Radiobutton allways checked in Linux

Beitrag von Winni »

Hi!

Wenn Du eine Komponente zum Ein- und Ausschalten benötigst, dann nimm eine ToggleBox (Reiter Standard).
Dort kannst Du die property checked abfragen bzw. setzen.
Und natürlich klicken.

Winni

Benutzeravatar
theo
Beiträge: 8667
Registriert: Mo 11. Sep 2006, 19:01

Re: Radiobutton allways checked in Linux

Beitrag von theo »

NoCee hat geschrieben:
Di 7. Sep 2021, 20:45
Kann mir jemand erklären warum das unter Linux so ist, ich kann mir da keinen Reim drauf machen.
Für Infos wäre ich dankbar.
Was du suchst ist TCheckbox, gleich neben dem Radiobutton.
Bei den Radiobuttons ist immer einer (von mehreren) ausgewählt.

NoCee
Beiträge: 137
Registriert: Do 3. Mär 2011, 21:34
OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2 (L 1.8.0 FPC 3.0.4 )
CPU-Target: 32/64Bit
Wohnort: Ulm

Re: Radiobutton allways checked in Linux

Beitrag von NoCee »

ich suche nicht, ich hab ja was fertiges am Laufen und hab mich
halt gewundert, daß Lazarus alles fehlerfrei auf Linux kompiliert und nicht meckert.
Das da mein "Windows" Programm ohne Meldung geändert und kompiliert wird
hätte ich jetzt eher nicht vermutet. Mit Lazarus auf Linux hab ich quasi gerade erst angefangen.
Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
Eine Checkbox hat halt einen Haken und nichts rundes.
Aber gut. Muß ich das halt umbauen. Aber alles Andere läuft einwandfrei, find ich schon mal
super: Ein Hoch auf Lazarus.

Vielen Dank für die Unterstützung
Gruß
NoCee

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 913
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.11 FPC 3.2)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Radiobutton allways checked in Linux

Beitrag von fliegermichl »

NoCee hat geschrieben:
Mi 8. Sep 2021, 14:55
Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
Im OPM gibt es ein Package Industrial. Das hat eine Komponente TAdvLED. Die ist rund und kann man per State auf On und Off setzen. Sieht optisch ganz gut aus.

Benutzeravatar
theo
Beiträge: 8667
Registriert: Mo 11. Sep 2006, 19:01

Re: Radiobutton allways checked in Linux

Beitrag von theo »

NoCee hat geschrieben:
Mi 8. Sep 2021, 14:55
Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
Eine Checkbox hat halt einen Haken und nichts rundes.
Radiobutton und Checkbox sind grundsätzlich verschieden in der GUI Programmierung.
Das ist nicht nur mit Lazarus so, sondern z.B. auch mit HTML.
Radio-Buttons sind eine Gruppe von beschrifteten Knöpfen, von denen der Anwender einen auswählen kann.
Sobald ein Radiobutton markiert wird, wird eine eventuell vorhandene Markierung eines anderen Radiobuttons derselben Gruppe gelöscht.

Eine Checkbox ist ein ankreuzbares Kontrollfeld. Der Benutzer kann es auswählen oder die Auswahl entfernen.
https://wiki.selfhtml.org/wiki/HTML/Tut ... Checkboxen
Es macht zumeist keinen Sinn einen einzelnen RadioButton zu nutzen, da RadioButtons als Auswahlelemente dienen sollen.
https://wiki.freepascal.org/TRadioButton/de

PascalDragon
Beiträge: 369
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Radiobutton allways checked in Linux

Beitrag von PascalDragon »

NoCee hat geschrieben:
Mi 8. Sep 2021, 14:55
Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
Das ist halt eben nicht der richtige Ansatz. Je nach Theming könnte ein OS einen Radiobutton zum Beispiel ebenfalls eckig darstellen. Oder komplett anders.
FPC Compiler Entwickler

wp_xyz
Beiträge: 3873
Registriert: Fr 8. Apr 2011, 09:01

Re: [gelöst] Radiobutton allways checked in Linux

Beitrag von wp_xyz »

Wenn du kein externes Package installieren willst, kannst du dir mit einer TShape-Komponente der Standard-Installation ebenfalls eine LED selbst bauen. Wenn die LED "an" sein soll, setze Brush.Color der Komponente auf clRed, andernfalls auf das dunklere clMaroon. Oder wechsle bei einer grünen LED von clLime nach clGreen, oder von clGreen nach clRed für eine Rot/grün-Wechsel-LED.
Dateianhänge
ShapeAsLED.zip
(2.55 KiB) 4-mal heruntergeladen

NoCee
Beiträge: 137
Registriert: Do 3. Mär 2011, 21:34
OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2 (L 1.8.0 FPC 3.0.4 )
CPU-Target: 32/64Bit
Wohnort: Ulm

Re: [gelöst] Radiobutton allways checked in Linux

Beitrag von NoCee »

Auf die Idee mit TShape bin ich auch gekommen und ich habs schon geändert.
PascalDragon hat geschrieben:
Do 9. Sep 2021, 09:28
NoCee hat geschrieben:
Mi 8. Sep 2021, 14:55
Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
Das ist halt eben nicht der richtige Ansatz. Je nach Theming könnte ein OS einen Radiobutton zum Beispiel ebenfalls eckig darstellen. Oder komplett anders.
Als Unwissender hab ich halt genommen was da, einfach und passend ist.
Daß das vielleicht der falsche Ansatz ist, hab ich mir nie Gedanken gemacht. Das werd ich in Zukunft vielleicht doch nicht mehr komplett ignorieren.

Danke nochmal für die Unterstützung
Gruß
NoCee

[Edit] Gerade herausgefunden: Bei Linux muß 1 Radiobutton immer checked sein. Deshalb ist es bei mir immer checked da ich
auf einem Panel nur eines drauf habe. Wenn 2 da sind, funktioniert das wie es soll. Windows läßt auch zu das wenn nur eines da ist
dieses unchecked sein darf. Deshalb mosert die IDE auf Linux auch nicht.

Antworten