Tkinter类导入模块问题



我试图通过将GUI与逻辑分离来保持代码的整洁。

在"main.py"文件中,我想从导入的其他文件中调用函数来构建GUI。

问题是,当我试图调用另一个文件作为导入模块时,我无法弄清楚如何从"main.py"文件构建GUI。

以下是我在"main.py"文件中的内容:

from tkinter import *
import create_btn

class Main(Tk):
def __init__(self):
super().__init__()
self.title('Main Window')
self.geometry('600x400')
self.eval('tk::PlaceWindow . center')


if __name__ == '__main__':
app = Main()
app.mainloop()

下面是我在"create_btn.py"文件中的内容:

from tkinter import *

def createBTN(self):
self.b1 = Button(root, text='B1')
self.b1.pack()

那么,我究竟该如何从另一个要导入到"main.py"中的文件中构建一个简单的按钮,或者换句话说,我该如何获得"create_btn.py"文件来在"main.pi"文件中构建按钮?一个简单的例子将不胜感激。

我已经完全重写了您的代码:

# main.py
from tkinter import *
import create_btn
class Main_app:
def __init__(self):
self.root = Tk()
self.root.title("Main Window")
self.geometry("600x400")
self.eval('tk::PlaceWindow . center')
self.button = create_btn.create(self.root)
self.root.mainloop()
a = Main_app()

# create_btn.py
from tkinter import *
class create:
def __init__(self, root):
btn = Button(root, text="Button")
btn.pack()
return btn

通过这种方式,您可以稍后在main.py中编辑按钮

最新更新