Bei tkinter.messagebox das Tk-fenster verhindern
@py-prog, es wurden dir schon viele und gute Tipps gegeben, die dir aber alle anscheinend nicht gefallen oder auch nicht das Problem lösen. Das Einfachste für uns und für dich wäre, wenn du deine Frage neu formolierst und den entsprechenden Code zeigst.
the more they change the more they stay the same
Code: Alles auswählen
import tkinter.messagebox
tkinter.messagebox.showinfo('Info', 'Text')
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
... und Du hast kein Tkinter (=GUI) verwendet?Py-Prog hat geschrieben:Code: Alles auswählen
import tkinter.messagebox tkinter.messagebox.showinfo('Info', 'Text')

Sorry, ich helfe gern, aber hier steige ich aus. Ich glaub das übersteigt jetzt meinen Horizont. Was zu sagen war, ist gesagt. Vielleicht lass ich mich überreden, wenn Du uns endlich verrätst, WAS Dir denn an den vorgeschlagenen Lösungen nicht gefällt (und Du noch optimieren möchtest). Das ist wohl die Kernfrage.
btw: ist das Python 3.x??
Gruß und viel Erfolg noch,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Hallo zusammen,
zufällig bin ich auf diesen alten Thread gestoßen und habe mit der Vorlage von problembär und Michael Schneider, dieses mal gebastelt:
zufällig bin ich auf diesen alten Thread gestoßen und habe mit der Vorlage von problembär und Michael Schneider, dieses mal gebastelt:

Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# For Python3.x
import tkinter as tk
class MessageBox(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.option_add('*font', ('Arial', 15, 'normal'))
self.geometry('+340+240')
self.bind(sequence='<Control-q>', func=lambda e: self.destroy())
self.lab1 = tk.Label(self, text='')
self.lab1.pack(padx=30, pady=30)
self.binding = {0 : '<Return>', 1 : '<Button-1>',
2 : '<KP_Enter>', 3 : '<j>', 4 : '<J>', 5 : '<Escape>',
6 : '<n>', 7 : '<N>'}
def func_1(self, event):
self.destroy()
self.call = True
def func_2(self, event):
self.destroy()
self.call = False
def button_1(self, t):
bt1 = tk.Button(self, text=t, width=6)
for key in self.binding:
if key <= 4:
bt1.bind(sequence=self.binding[key], func=self.func_1)
bt1.focus()
bt1.pack(side=tk.LEFT, anchor=tk.CENTER, padx=10, pady=10)
def button_2(self, t):
bt2 = tk.Button(self, text=t, width=6)
for key in self.binding:
if key <= 2 or key >= 5:
bt2.bind(sequence=self.binding[key], func=self.func_2)
bt2.pack(side=tk.LEFT, anchor=tk.CENTER, padx=10, pady=10)
def ok(self, message):
self.title('Info')
self.lab1['text'] = message
self.button_1('Ok')
self.mainloop()
return self.call
def infook(self, message):
self.title('Frage')
self.lab1['text'] = message
self.button_1('Ok')
self.button_2('Abbruch')
self.mainloop()
return self.call
def yesno(self, message):
self.title('Frage')
self.lab1['text'] = message
self.button_1('Ja')
self.button_2('Nein')
self.mainloop()
return self.call
if __name__ == '__main__':
result = MessageBox().yesno('Hallo')
print(result)