Я начинаю что-то делать (IDK еще), используя python и pygubu. Для начала я изучал, что вы можете сделать с Pygubu. Однако я столкнулся с проблемой, которую не знаю, как решить. Моя проблема в том, что я не могу разрушить окно. Я попытался:
import time
from time import sleep
import tkinter as tk
import pygubu
def func():
time.sleep(2.8)
app.destroy()
class HelloWorldApp:
global app
def __init__(self):
#1: Create a builder
self.builder = builder = pygubu.Builder()
#2: Load an ui file
builder.add_from_file('IDKyet.ui')
#3: Create the mainwindow
self.mainwindow = builder.get_object('window')
def run(self):
self.mainwindow.mainloop()
if __name__ == '__main__':
app = HelloWorldApp()
app.run()
func()
Но я получаю ошибку:
Traceback (most recent call last):
File "C:\Users\tom\Documents\python\In development\I Do Not Know (yet).py", line 42, in <module>
func()
File "C:\Users\tom\Documents\python\In development\I Do Not Know (yet).py", line 11, in func
app.destroy()
AttributeError: 'HelloWorldApp' object has no attribute 'destroy'
Итак, я попытался:
import time
from time import sleep
import tkinter as tk
import pygubu
def func():
time.sleep(2.8)
window.destroy()
class HelloWorldApp:
global window
def __init__(self):
#1: Create a builder
self.builder = builder = pygubu.Builder()
#2: Load an ui file
builder.add_from_file('IDKyet.ui')
#3: Create the mainwindow
self.mainwindow = builder.get_object('window')
def run(self):
self.mainwindow.mainloop()
if __name__ == '__main__':
app = HelloWorldApp()
app.run()
func()
В основном я изменил глобальную переменную на будучи вызванным window
, которое является моим родительским окном, и я назвал уничтожаемое окно window
. Однако я получаю сообщение об ошибке:
Traceback (most recent call last):
File "C:\Users\tom\Documents\python\In development\I Do Not Know (yet).py", line 42, in <module>
func()
File "C:\Users\tom\Documents\python\In development\I Do Not Know (yet).py", line 11, in func
window.destroy()
NameError: name 'window' is not defined
Несмотря на то, что я сделал window
глобальной переменной. Я новичок в Pygubu и мне нужна вся помощь, которую я могу получить. Как уничтожить окно с помощью pygubu? ПРИМЕЧАНИЕ: Ошибка появляется после закрытия окна. Буду признателен за любую помощь. Я попробовал эту ссылку, но она не помогает .
Редактировать:
Теперь я знаю, что после app.run()
окно перестает работать / закрывается, но как вы делаете он исчезает (как функция tkinter destroy()
)?