Seite 2 von 2

Re: Bei tkinter.messagebox das Tk-fenster verhindern

Verfasst: Mittwoch 21. Juli 2010, 16:12
von Dav1d
@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.

Re: Bei tkinter.messagebox das Tk-fenster verhindern

Verfasst: Mittwoch 21. Juli 2010, 16:19
von Py-Prog

Code: Alles auswählen

import tkinter.messagebox

tkinter.messagebox.showinfo('Info', 'Text')

Re: Bei tkinter.messagebox das Tk-fenster verhindern

Verfasst: Mittwoch 21. Juli 2010, 17:28
von Michael Schneider
Py-Prog hat geschrieben:

Code: Alles auswählen

import tkinter.messagebox

tkinter.messagebox.showinfo('Info', 'Text')
... und Du hast kein Tkinter (=GUI) verwendet? :shock:

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

Re: Bei tkinter.messagebox das Tk-fenster verhindern

Verfasst: Donnerstag 22. Juli 2010, 13:32
von Py-Prog
Es geht mit der lösung von BlackJack. Danke.

Re: Bei tkinter.messagebox das Tk-fenster verhindern

Verfasst: Donnerstag 17. Juli 2014, 18:01
von Nobuddy
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: :wink:

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)