Как сделать только это окно tk? [Дубликат]

Отметьте временную метку для столбца MySQL DATETIME:

strftime('%Y-%m-%d %H:%M:%S',$timestamp);
16
задан user1491250 24 June 2013 в 17:43
поделиться

3 ответа

Tkinter должен иметь корневое окно. Если вы его не создадите, вы будете созданы для вас. Если вы не хотите этого корневого окна, создайте его, а затем спрячьте его:

import Tkinter as tk
root = tk.Tk()
root.withdraw()
tkMessageBox.showinfo("Say Hello", "Hello World")

Другой ваш выбор - not использовать tkMessageBox, но вместо этого поместите свое сообщение в корневое окно. Преимущество такого подхода заключается в том, что вы можете заставить окно выглядеть так, как вы хотите, чтобы он выглядел.

import Tkinter as tk
root = tk.Tk()
root.title("Say Hello")
label = tk.Label(root, text="Hello World")
label.pack(side="top", fill="both", expand=True, padx=20, pady=20)
button = tk.Button(root, text="OK", command=lambda: root.destroy())
button.pack(side="bottom", fill="none", expand=True)
root.mainloop()

(лично я бы выбрал более объектно-ориентированный подход, но я пытаюсь сохранить маленький код для этого примера)

22
ответ дан Bryan Oakley 18 August 2018 в 20:02
поделиться
  • 1
    отлично, спасибо – user1491250 24 June 2013 в 17:59
  • 2
    Есть ли способ сделать текст выбранным, чтобы я мог его скопировать? – user1491250 24 June 2013 в 18:01
  • 3
    @ user1491250: да. Используйте текстовый виджет вместо метки. Вы можете настроить границы и цвета, чтобы они выглядели как ярлык. – Bryan Oakley 24 June 2013 в 18:23
  • 4
    Благодарю. Замечательно. – user1491250 25 June 2013 в 09:34
  • 5
    С первым вариантом ... Есть ли способ закончить приложение при нажатии кнопки «ОК»? в диалоговом окне? Прямо сейчас диалог не закрывается, когда я это делаю (возможно, мне нужно сделать root.destroy (), но я не знаю, как это сделать сразу после нажатия OK) – madtyn 11 July 2016 в 09:34

Чтобы избежать «вспышки» при создании корневого окна, используйте эту небольшую вариацию для принятого ответа:

import Tkinter as tk
root = tk.Tk()
root.overrideredirect(1)
root.withdraw()
tkMessageBox.showinfo("Say Hello", "Hello World")
6
ответ дан BuvinJ 18 August 2018 в 20:02
поделиться

Импортировать почтовый ящик отдельно. Например:

from tkinter import *
import tkinter.messagebox

или

from tkinter import messagebox
1
ответ дан Jason 18 August 2018 в 20:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: