Seite 1 von 1

Icons bei tkMessageBox und tkSimpleDialog ändern[unlösbar?]

Verfasst: Sonntag 3. September 2006, 15:49
von schlangenbeschwörer
Hallo zusammen!
Ich will mein eigenes Icon nicht nur oben im Hauptfenster haben, sondern gerne auch in die Message- und Dialogboxen setzen-aber wie? Die icon-Option zum Bsp. bei showerror regelt doch das icon neben dem Text, oder? :K
ich komm nich weiter,also helft mir bitte!
mfg jj [/code]

Verfasst: Sonntag 3. September 2006, 16:04
von jAN

Code: Alles auswählen

from Tkinter import *
root=Tk()
root.wm_iconbitmap("icon.ico")
root.mainloop()

i know

Verfasst: Sonntag 3. September 2006, 16:45
von schlangenbeschwörer
Danke,aber das weiß ich ja schon...
Eigentlich wollte ich das gleiche mit "Message- und Dialogboxen" machen! So geht das ja aber nich, weil die message direkt erscheint...

Verfasst: Montag 4. September 2006, 07:01
von Michael Schneider
Hallo Schlangenbeschwörer!

Die tkMessageBox ist von Dialog direkt abgeleitet und leider nicht von Widget oder Toplevel. Der tk-Aufruf von Dialog scheint Tkinter aber recht ähnlich zu sein. Kann man das Icon nicht als Ressource übergeben? Oder nach dem Ableiten an das options-Dictionary?

Grüße,
Michael

HILFE!!!

Verfasst: Montag 4. September 2006, 19:09
von schlangenbeschwörer
Hallo!
Michael Schneider hat geschrieben: Kann man das Icon nicht als Ressource übergeben? Oder nach dem Ableiten an das options-Dictionary?
Das is ja eine gute Idee, aber ich weiß nicht wie ich das schreiben soll, da ja die meldung sofort erscheint und, wenn man dann geklickt halt, als string interpretiert wird (je nach antwort, z.B. "ok").

Code: Alles auswählen

from tkMessageBox import *
def fehlermeldung1 ():
    showerror("Errortitel", "Errormeldung")
fehlermeldung1()
Wie kann ich hier das ICON ÄNDERN ?
Ich hab schon echt alles ausprobiert, was mir einfällt, aber ich krig's nich hin! :cry:
Bitte helft mir!
Gruß, jj

Verfasst: Sonntag 10. September 2006, 13:50
von jAN
wäre es ein problem, die dialoge selber mit Tkinter zu basteln?

Verfasst: Sonntag 10. September 2006, 14:35
von BlackJack
Ich denke es reicht das `root` Fenster zu erstellen, dort das Icon zu setzen und dann die vorgefertigten Dialoge zu benutzen.

Wenn man nur so einen vorgefertigten Dialog anzeigt, dann wird zumindest unter Linux, das leere Hauptfenster auch angezeigt! Das sollte man also explizit mit `withdraw()` unsichtbar machen.

da is der wurm drin...

Verfasst: Dienstag 12. September 2006, 18:22
von schlangenbeschwörer
Hallo!
BlackJack hat geschrieben:Ich denke es reicht das `root` Fenster zu erstellen, dort das Icon zu setzen und dann die vorgefertigten Dialoge zu benutzen.

Code: Alles auswählen

from Tkinter import*
from tkMessageBox import *
def fehlermeldung1 ():
    t=Tk(className="Test")
    t.wm_iconbitmap("*iconfile*")
    showerror("titel","text",master=t)

fehlermeldung1()

Meints du damit sowas? Bei mir klappt das nicht...
Gruß, jj

PS: Ich könnte das natürlich auch einfach mit Tkinter basteln, aber tkMessageBox gibts ja, weil's einfacher ist, und wieso kann man da nicht das Icon ändern? Das muss doch möglich sein!

Verfasst: Donnerstag 14. September 2006, 16:11
von schlangenbeschwörer
Hallo!
Ich gebe auf. Scheinbar ist mein Problem unlösbar, da tkMessageBox nur das macht, was ich nun selbst machen werde, nur mit dem Unterschied, dass bei tkMessageBox nicht vorgesehen ist, das Icon zu ändern. Desshalb werde ich versuchen, meine Dialoge manuell zu programmieren.
Gruß und nochmal danke für die Antworten, jj :wink:

Re: da is der wurm drin...

Verfasst: Donnerstag 14. September 2006, 17:29
von Leonidas
schlangenbeschwörer hat geschrieben:Das muss doch möglich sein!
Zur Info: Das ist Tk. In Tk sind viele Sachen nicht einfach so möglich, weil vor 15 oder 20 Jahren als Tk entwickelt wurde niemanden Icons interessierten.

So, und nun /mode tk_flame off.

Re: da is der wurm drin...

Verfasst: Donnerstag 14. September 2006, 18:37
von pyStyler
Leonidas hat geschrieben:
schlangenbeschwörer hat geschrieben:Das muss doch möglich sein!
Zur Info: Das ist Tk. In Tk sind viele Sachen nicht einfach so möglich, weil vor 15 oder 20 Jahren als Tk entwickelt wurde niemanden Icons interessierten.

So, und nun /mode tk_flame off.
gut gut, wie würde so was in den anderen Guitoolkits den aussehen !
Und keine ausreden lass Fakten sprechen :D

Re: da is der wurm drin...

Verfasst: Donnerstag 14. September 2006, 20:33
von Leonidas
pyStyler hat geschrieben:gut gut, wie würde so was in den anderen Guitoolkits den aussehen !
So:
Bild
pyStyler hat geschrieben:Und keine ausreden lass Fakten sprechen :D
Gut, erstmal die ball.xpm:

Code: Alles auswählen

/* XPM */
static char * example_xpm[] = {
"24 20 3 1",
"  c None",
". c #0000FF",
"+ c #FF0000",
"                        ",
"    ..                  ",
"   ....                 ",
"  ......++++++++        ",
" .........+++++++       ",
" ..........+++++++      ",
" ............++++++     ",
" .............++++++    ",
"  ..............++++    ",
"   +.............+++    ",
"   ++.............++    ",
"   +++.............+    ",
"   +++++.............   ",
"   ++++++.............. ",
"   ++++++++............ ",
"   +++++++++........... ",
"    +++++++++.........  ",
"     ++++++++++.......  ",
"      ++++++++++.....   ",
"       +++++++++ ...    "};
Und nun das Programm (etwas roh, aber es war ja nur um eine Demonstration gefragt).

Code: Alles auswählen

import gtk

md = gtk.MessageDialog(None, 0, 
    gtk.MESSAGE_INFO, gtk.BUTTONS_NONE, 
    "Haha. Geht doch!")
md.show()
md.set_icon_from_file('ball.xpm')
gtk.main()
Mein Programm benutzt sogar Namensräume, was in Tkinter Programmen leider seltsamerweise selten der Fall ist (hooray, lets import 983 names into the program by using from gtk import *).

Verfasst: Freitag 15. September 2006, 17:05
von schlangenbeschwörer
Hi!
Vielleicht weiß ja auch jemand, wie das mit Tkinter aussehen könnte...
Guckt doch mal ins ideen-forum!
Gruß, jj