[gelöst] Radiobutton allways checked in Linux
-
- Beiträge: 174
- Registriert: Do 3. Mär 2011, 21:34
- OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
- CPU-Target: Intel 32/64Bit, ARM9
- Wohnort: Ulm
[gelöst] Radiobutton allways checked in Linux
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
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.
-
- Beiträge: 2122
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Radiobutton allways checked in Linux
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
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
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Radiobutton allways checked in Linux
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
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
Re: Radiobutton allways checked in Linux
Was du suchst ist TCheckbox, gleich neben dem Radiobutton.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.
Bei den Radiobuttons ist immer einer (von mehreren) ausgewählt.
-
- Beiträge: 174
- Registriert: Do 3. Mär 2011, 21:34
- OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
- CPU-Target: Intel 32/64Bit, ARM9
- Wohnort: Ulm
Re: Radiobutton allways checked in Linux
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
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
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1647
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Radiobutton allways checked in Linux
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.NoCee hat geschrieben: Mi 8. Sep 2021, 14:55 Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
Re: Radiobutton allways checked in Linux
Radiobutton und Checkbox sind grundsätzlich verschieden in der GUI Programmierung.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.
Das ist nicht nur mit Lazarus so, sondern z.B. auch mit HTML.
https://wiki.selfhtml.org/wiki/HTML/Tut ... CheckboxenRadio-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.freepascal.org/TRadioButton/deEs macht zumeist keinen Sinn einen einzelnen RadioButton zu nutzen, da RadioButtons als Auswahlelemente dienen sollen.
-
- Beiträge: 955
- 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
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.NoCee hat geschrieben: Mi 8. Sep 2021, 14:55 Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
FPC Compiler Entwickler
Re: [gelöst] Radiobutton allways checked in Linux
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) 54-mal heruntergeladen
-
- Beiträge: 174
- Registriert: Do 3. Mär 2011, 21:34
- OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
- CPU-Target: Intel 32/64Bit, ARM9
- Wohnort: Ulm
Re: [gelöst] Radiobutton allways checked in Linux
Auf die Idee mit TShape bin ich auch gekommen und ich habs schon geändert.
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.
Als Unwissender hab ich halt genommen was da, einfach und passend ist.PascalDragon hat geschrieben: Do 9. Sep 2021, 09:28Das ist halt eben nicht der richtige Ansatz. Je nach Theming könnte ein OS einen Radiobutton zum Beispiel ebenfalls eckig darstellen. Oder komplett anders.NoCee hat geschrieben: Mi 8. Sep 2021, 14:55 Die Radiobuttons hab ich genommen weil die schön rund ähnlich einer LED (Meldelampe) aussehen.
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.