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日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度