Ich suche für mein Projekt eine Möglichkeit, die Fenster/Titelliste eines Programms zu entfernen/verstecken. Es geht darum ein "Information Desk" zu gestalten. Also ein Display das diverse Informationen wie Wettervorhersage, Aktuelle Nachrichten , ect Anzeigt. Realisiert wird das mit einem Rasperry-pi und einem 10.1-inch WideScreen. Als Test werde ich eine Website erstellen und sie dann im Vollbildmodus Anzeigen. In HTML und JS kein Problem, aber ich würde das gerne mit einer "echten" Programmiersprache realisieren, und eine Programm schreiben. Inwiefern ist das in Python/Java realisierbar? mfg lukas88
Du musst dich erstmal entscheiden, mit was du dein GUI erstellen willst. QT, TK, GTK, wxWidgets, ... Dann kannst du gezielt nach Fenstern ohne Rahmen und Titelleiste suchen.
Python und Java sind ja erstmal "nur" Programmiersprachen. Es ist für die Erstellung einer GUI zu empfehlen ein passendes Framework zu nutzen. Für Python ist eine von vielen Möglichkeiten pyQt: http://www.qtcentre.org/threads/22451-How-to-create-an-application-without-title-bar-and-border Unter Java kommt (meines Wissens nach) in der Regel Swing zum Einsatz. Auch hier wirst du den Fenstertyp / das Aussehen konfigurieren können. Also Antwort auf deine Frage: klar geht das! Gruß Dennis
Das Fenster hat nichts mit dem Programm zu tun, das hat keinen Einfluss darauf. Das Fenster malt der Window-Manager. Ich nehme an, auf dem Pi läuft ein X-Server, den kannst du "nackt" starten, dann gibt es keine Fenster. Dazu den Grafischen Modus beenden und einfach "X :0" starten. In einem anderen Terminal "export DISPLAY=:0" eingeben. Danach von dort aus den Browser oder andere Programme starten. Du kannst dort allerdings das Fenster nicht mehr mit der Maus verschieben. Lies dich dazu zum Thema "X-Window System" ein.
Dennis S. schrieb: > Unter Java kommt (meines Wissens nach) in der Regel Swing zum Einsatz. > Auch hier wirst du den Fenstertyp / das Aussehen konfigurieren können. Nein.
Fritz G. schrieb: > Dennis S. schrieb: >> Unter Java kommt (meines Wissens nach) in der Regel Swing zum Einsatz. >> Auch hier wirst du den Fenstertyp / das Aussehen konfigurieren können. > > Nein. Tja.. eine starke Behauptung ist immer besser als ein schwaches Argument?
:
Bearbeitet durch User
Zunächst mal wäre es wichtig zu wissen, ob tatsächlich ein Fenster ohne Window-Manager-Dekoration gewünscht ist oder ob die Anwendung vielleicht nicht doch eher im Vollbild laufen soll.
Im Vollbildmodus oder ohne Fensterdekoration ist mir grundsätzlich egal, ich will auf dem Infodesk einfach keine sehen...
Warum nimmst du nicht HTML/JS als GUI-Frontend? Ich mache grad ein ziemlich ähnliches Projekt (auch ein Info-Display). Dafür benutze ich C# + Mono als Backend und HTML + JS als Frontend. Läuft auf meinem Pi ganz wunderherrlich ;-)
Lukas G. schrieb: > Im Vollbildmodus oder ohne Fensterdekoration ist mir grundsätzlich egal, > ich will auf dem Infodesk einfach keine sehen... Na, dann mach doch einfach das hier: http://www.google.com/search?&q=tkinter+fullscreen+mode --> Erstes Ergebnis, zweite Antwort.
Fritz G. schrieb: > Dennis S. schrieb: >> Unter Java kommt (meines Wissens nach) in der Regel Swing zum Einsatz. >> Auch hier wirst du den Fenstertyp / das Aussehen konfigurieren können. > > Nein. Meine Güte, in Java ist das eine der einfachsten Übungen:
1 | JFrame.setUndecorated(true) |
Geerbt von Frame: https://docs.oracle.com/javase/8/docs/api/javax/swing/JFrame.html https://docs.oracle.com/javase/8/docs/api/java/awt/Frame.html#setUndecorated-boolean-
:
Bearbeitet durch User
--- schrieb: > Du musst dich erstmal entscheiden, mit was du dein GUI erstellen willst. > QT, TK, GTK, wxWidgets, ... > Dann kannst du gezielt nach Fenstern ohne Rahmen und Titelleiste suchen. Diese Antwort ist m.E. ziemlich falsch, denn unter X11 entscheidet der Fenstermanager, ob das Fenster einen Titel oder einen Rahmen hat, und nicht das Fenster. Das Fenster kann höchstens einen WM-Hint angeben, den der Fenstermanager meistens beachten wird. Im Endeffekt nimm also irgendeinen Fenstermanager, der das kann, und setze die nötigen Hints (die jedes vernünftige Toolkit haben wird) und alles ist gut.
Hannes J. schrieb: > Meine Güte, in Java ist das eine der einfachsten Übungen: > JFrame.setUndecorated(true) Wenn es der Fenstermanager zulässt. Dann bleibt meist noch die Menüleiste über. Wenn er Fullscreen bzw. eine Kioskanwendung will, wozu dann einen Fenstermanager starten?
Sven B. schrieb: >> Du musst dich erstmal entscheiden, mit was du dein GUI erstellen willst. >> QT, TK, GTK, wxWidgets, ... >> Dann kannst du gezielt nach Fenstern ohne Rahmen und Titelleiste suchen. > > Diese Antwort ist m.E. ziemlich falsch, denn unter X11 entscheidet der > Fenstermanager, ob das Fenster einen Titel oder einen Rahmen hat, und > nicht das Fenster. Das Fenster kann höchstens einen WM-Hint angeben, den > der Fenstermanager meistens beachten wird. Richtig, und wie das gemacht wird, hängt eben vom Toolkit ab. Deshalb ist es wichtig zu wissen, welches das ist. Bei Qt müsste man z.B. bei den Widget-Flags Qt::FramelessWindowHint angeben.
Boris P. schrieb: > Warum nimmst du nicht HTML/JS als GUI-Frontend? > Hab ich ja auch vor, als Prototyp. Aber auf längere Sicht, ist mir eine richtige Anwendung lieber, da ich in Zukunft auch Sensoren die am Rasperry angeschlossen sind, auslesen möchte. Geht mit HTML/JS zwar über Umwege auch, aber macht es auch anfälliger auf Fehler/Störungen. Da geh ich Lieber den direkten weg.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.