gpt4 book ai didi

python - 执行时空白的 tkinter 窗口

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:20 28 4
gpt4 key购买 nike

我正在编写一个 Tkinter,它主要由一个复选框和包含保存选项的文件菜单组成。

问题:它有 2 个 tkinter 而不是一个。一个是空白的 GUI,另一个由我的复选框、文本框、文件和保存组成。

如何避免空白界面?

我的代码:

from Tkinter import *
import Tkinter
from tkFileDialog import askopenfile, asksaveasfile
import tkFileDialog

class myproject(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self)
self.textbox()
self.checkbox2()
def textbox(self):
self.txt1 = Tkinter.Text(root, borderwidth=3, relief="sunken", height=4,width=55)
self.txt1.config(font=("consolas", 12), undo=True, wrap='word')
self.txt1.grid(row=0, column=1, sticky="nsew", padx=2, pady=2)
def checkbox2(self): #self.checkbox
checkbox = Tkinter.Checkbutton(root, text = " ")
checkbox.grid(column=1,row=2)


def file_save(self):
f = asksaveasfile(mode='w', defaultextension=".txt")


root = Tkinter.Tk()

menubar = Menu(root)
root.configure(menu=menubar)

filemenu = Menu(menubar,tearoff=0)
menubar.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="Save", command=myproject.file_save)
app = myproject(None)
app.mainloop()

最佳答案

我重新编写了您的代码以使其工作。

更改内容:您有 2 个变量 rootapp,其中之一是创建空白窗口。我将其更改为只使用一个变量 root,它在开始时被初始化为 myproject

我没有在你的函数中使用 root,而是将它们更改为 self,因为 self 继承自 Tkinter.Tk以及。

__init__ 函数中,我删除了未使用的变量 parent

更新:同样在调用filemenu.add_command时,改为传入root.file_save而不是myproject.file_save。谢谢 PM 2Ring。

from Tkinter import *
import Tkinter
from tkFileDialog import askopenfile, asksaveasfile
import tkFileDialog

class myproject(Tkinter.Tk):
def __init__(self):
Tkinter.Tk.__init__(self)
self.textbox()
self.checkbox2()
def textbox(self):
self.txt1 = Tkinter.Text(self, borderwidth=3, relief="sunken", height=4,width=55)
self.txt1.config(font=("consolas", 12), undo=True, wrap='word')
self.txt1.grid(row=0, column=1, sticky="nsew", padx=2, pady=2)
def checkbox2(self): #self.checkbox
checkbox = Tkinter.Checkbutton(self, text = " ")
checkbox.grid(column=1,row=2)
def file_save(self):
f = asksaveasfile(mode='w', defaultextension=".txt")

root = myproject()

menubar = Menu(root)
root.configure(menu=menubar)

filemenu = Menu(menubar,tearoff=0)
menubar.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="Save", command=root.file_save)
root.mainloop()

关于python - 执行时空白的 tkinter 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26814472/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com