xxz1414 2022-07-26 12:16 采纳率: 100%
浏览 32
已结题

主窗口上的按钮正常,但子窗口按钮无法创建新窗口,如何解决?

主窗口上的按钮可以正常使用,但是创建出来的子窗口上的按钮却无法再创建一个窗口。
以下是源代码


​
import tkinter as tk
import tkinter.font as tf
import os,sys


def run():
    global there
    global novel
    global root_look
    global a
    run = tk.Toplevel()
    run.title('你的文件')
    bookname = tk.Label(run,text=a)
    bookname.pack()
    run.mainloop()
    #这里的函数无法运行
def look():
    root_look = tk.Toplevel()
    root_look.title('选择')
    root_look.geometry("225x100")
    root_look.configure(bg='grey')
    say = tk.Label(root_look,text='请输入文件名:',bg='grey')
    say.grid(row=0)
    ok = tk.Button(root_look,text='确定',command=run)
    #这是出现问题的按钮
    ok.grid(row=1)
    novel = tk.Entry(root_look,bg='grey')
    novel.grid(row=0, column=1)
    a = novel.get()
    root_look.mainloop()
    #问题界面的代码
there = sys.path[0]
root = tk.Tk(className='编辑器')
root.geometry("450x300")
root.configure(bg='grey')
welcome = tk.Label(root, text='编辑器', bg='grey')
welcome.grid(row=0)
Wfont = tf.Font(family='微软雅黑',size=30)
welcome.config(font=Wfont)
run = tk.Button(root,text='查找',command=look)
run.grid(row=0,column=1)
root.mainloop()


​

我期望达成的效果,是所有按钮均可生效。

img


如图,按下按钮后,未产生新的窗口。

  • 写回答

2条回答 默认 最新

  • qfcy_ 2022-07-26 12:59
    关注

    修改最后几行run=tk.Button() 的run变量名, 因为此时run变量指向的是这个按钮, 而不是函数。

    --snip--
    run2 = tk.Button(root,text='查找',command=look)
    run2.grid(row=0,column=1)
    root.mainloop()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 修改了问题 7月26日
  • 创建了问题 7月26日

悬赏问题

  • ¥15 MATLAB动图问题
  • ¥15 有段代码不知道怎么理解,const isToken = (config.headers || {}).isToken === false
  • ¥100 采用栈和深度优先算法对我的代码进行修改显示路径
  • ¥15 pointnet2包安装
  • ¥20 射频功率问题,解答者有酬谢!
  • ¥80 构建降雨和积水的预测模型
  • ¥15 #Qt Transform setTransform()在鼠标拖动移动视角是一致在原地不动,无法变换视角(细微观察似乎视图有在原地抖动),无法变换视角(细微观察似乎视图有在原地抖动)
  • ¥50 如何利用无人机拍摄的数码照片测量鸟卵的长短径
  • ¥100 github贡献者给与奖励
  • ¥15 使用DS18B20+ESP8266获取温度数据返回-127.00