PopUp Fenster ctype

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
GoldenerReiter
User
Beiträge: 17
Registriert: Montag 14. Juli 2014, 16:13

Hi,
ich möchte ein Pop-Up Fenster erstellen.
dazu habe ich ein beispiel gefunden

Code: Alles auswählen

import ctypes
msgbox = ctypes.windll.user32.MessageBoxA
ret = msgbox(None, 'Press OK to end the demo.', 'Deviare Python Demo', 0)
print ret
Das Fenster erscheint auch, allerdings wird beim Titel und Text (Egal was ich da eingebe) immer nur der erste Buchstabe angezeigt. Im Beispiel wird aber das ganze Wort bzw. der ganze Text dargestellt. Muss ich da noch etwas anderes beachten?
Desweiteren erscheint das Fenster sofort nach dem Befehl ret=...
Den print-befehl würde ich gar nicht benötigen. Das ist aber nicht so schlimm, dass habe ich einfach rausgelöscht
BlackJack

@GoldenerReiter: Kann es sein, dass Du Python 3 verwendest? Oder Python 2 und den Quelltext UTF-16 kodiert speicherst? Du musst da `bytes` bzw. einen Bytestrings in der Kodierung übergeben die von der Funktion erwartet wird.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@GoldenerReiter:
Ich würd für sowas nicht die Win-API direkt anprogrammieren. Mit dem von Haus aus mitgelieferten Tk geht auch recht kurz und ist zudem plattformunabhängig:

Code: Alles auswählen

import Tkinter as tk
import tkMessageBox
tk.Tk().withdraw()
print tkMessageBox.showinfo('title', 'text')
GoldenerReiter
User
Beiträge: 17
Registriert: Montag 14. Juli 2014, 16:13

Ah, ja, ich benutze version 3.4
mit Tkinter wollte ich das auch erst machen, habe aber immer eine Fehlermeldung bekommen mit der Meldung
No module named 'Tkinter'
das liegt auch ander version, da ich ab version 3 alles klein schreiben muss.
Also funktioniert jetzt alles, so wie es soll
danke für die hilfreichen Tipps
Antworten