Python tkinter图形界面BUTTON事件控制和编辑框返回值出现异常

使用win7的Python3.73的IDLE界面编写图形界面程序,在编码过程中发现,如果定义一个主窗口后再定义一个局部窗口会导致后面的窗口的编辑框设置和取值异常。具体问题用一个测试程序来说明如下:

import tkinter as tk
from tkinter import messagebox

def newwin(title='test',geometry='300x300'):
    def ShowMessage():
        tk.messagebox.showinfo(input.get())
    window = tk.Tk()
    window.title(title)
    window.geometry(geometry)
    input = tk.StringVar()
    input.set('请输入任意内容!')

    tk.Label(window, text='请输入任意内容: ').place(x=10, y= 10)
    entry_new_name = tk.Entry(window, textvariable=input)
    entry_new_name.place(x=150, y=10)
    btn_show = tk.Button(window, text='显示输入', command=ShowMessage)
    btn_show.place(x=80, y=90)
    btn_newwin = tk.Button(window, text='新弹窗', command=newwin)
    btn_newwin.place(x=150, y=90)
    btn_exit = tk.Button(window, text='退出', command=exit)
    btn_exit.place(x=220, y=90)
    return window
root = newwin()
root.mainloop()

上述代码执行后,显示一个窗口,内有:一个输入框,三个按钮,一个是显示输入框内容,一个是再次新建一个同样的窗口,一个是系统退出。执行后第一次打开窗口时相关功能正常,但当选择“新弹窗”弹出一个新的窗口后,编辑框的初始内容没有显示,且输入内容后,在新窗口显示编辑框的内容取得的值为变量初始化的值,没有取得新的输入。
关于以上代码,有如下几个问题:
1、为什么新弹窗中编辑框的显示和变化没有和变量关联起来?
2、上述代码中btn_newwin按钮定义如果改为:“btn_newwin = tk.Button(window, text='新弹窗', command=newwin)”中,如果newwin使用带实参格式,则会导致一启动就会不停新建窗口,导致递归调用过深异常出现才终止?这是为什么 ?
3、该代码存储到文件后,使用dos命令行方式执行文件无任何反应。是图形界面的程序无法在非图形界面解释器下执行吗?该怎么解决?
非常抱歉,本人没有C币,不知可有哪位大拿免费指教?谢谢!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python Tkinter Button控件command传参问题解决方案
Python Button控件command传参问题解决方案nn环境:Ubuntu14、Python3.4、Pycharm2018nn一、使用command=lambda: 的形式传参nn代码如下nnnfrom tkinter import *nimport tkinter.messagebox as messageboxnnndef createpage(master):n master ...
python在回调函数中获取返回值
python中有用到回调函数的时候,而回调函数又需要返回数值的时候,就需要先将所被传为回调函数的函数先赋值给一个变量,然后等回调结束之后,将这个变量取值回来就可以了。rn如我用到到的调用xmlreader时,传入的一个函数需要取回返回值的代码:rn # 创建一个 XMLReadern parser = xml.sax.make_parser()n # turn off namep
python tkinter 图形化界面
1.python提供了多个图形开发界面的库: (1) Tkinter : Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。 (2)wxPython : wxPython 是一款开...
小白学tkinter(按钮Button)
Button command
Tkinter 学习笔记 —— Button 部件
本笔记基于 Tkinter 8.5 reference: a GUI for Python创建 Buttonw = tk.Button(parent, option=value, ...)表 5. Button 部件选项n optionsn Description activebackgroundn 按钮在光标下方时的背景颜色n activeforegroundn 按钮在光标下方时的前景
使用tkinter实现对Checkbutton状态的获取的例子
最近工作需要使用tkinter获取Checkbutton是否选中的状态,进而进入下一步的设置。在网上找了找教程。写出来了个小程序。希望对后来人能有所帮助。nnnfrom tkinter import *nnroot=Tk()ntext=StringVar()ntext.set('unselect')#给label设置初始值nnstatus=IntVar()nndef change():#选中事件n...
Python 基于Tkinter的GUI图形界面学习
用Tkinter画图首先要创建一个根挂件,可以用Tk()产生nn然后要产生不同类型的小挂件,有标签Label,按钮Button,接口Entry 之类的,具体的查看网上的详细文档。nn比如说用widget = Label(None, text = 'hello')产生了一个内容为hello的标签之后还要确定把这个标签放在哪个位置,所以就要用到pack()nnpack有很多选项,比如说要不
Python的Tkinter点击按钮触发事件
如果要开发一个比较大的程序,那么应该先把代码封装起来,在面向对象编程中,就是封装成类先看代码:import tkinter as tkclass App:    def __init__(self, root):        root.title("打招呼测试")        frame = tk.Frame(root)        frame.pack()        self.hi_t...
python-tkinter之按钮的使用,开关
直接上代码# -*- coding:utf-8 -*-nfrom tkinter import *nroot=Tk()nndef g():n if b['text']=='开始':n b['text']='关闭'n print('开始')n else:n b['text']='开始'n print('结束')nb=Button(r...
Tkinter 组件详解(二):Button
Tkinter 组件详解之Buttonnn简介nnButton(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。nnButton 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷键)。默认情况下,tab 按键被用于在按...
Python图形用户界面-Tkinter
Tkinter是什么python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多一个直观的功能,如何想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。Label(标签)&Button(按钮)Labelimport tkinter as tk#第1步,建立窗口win
Python 窗体(tkinter)按钮 位置
import tkinternndef go(): #函数n print("go函数")nnwin=tkinter.Tk() #构造窗体nwin.title("hello zhaolin")#标题nwin.geometry("800x800+300+0")#800宽度,800高度,x,y坐标,左上角nbutton=tkinter.Button(win,text="有种点我",comma
有趣的Python--Tkinter图形化界面
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。nn安装了IDE的小伙伴先来动手试试第一个小例子:nnn# coding=utf-8nimport Tkinternimport tkS...
Python 图形界面 Tkinter 入门案例
import tkinter.messagebox as messageboxnfrom tkinter import *nfrom tkinter import ttknfrom tkinter.filedialog import askdirectory从Frame派生一个Application类,这是所有Widget的父容器:class Application(Frame):n def...
python2抒写GUI遇到的Tkinter中函数调用的问题
python2与python3中GUI实现调用的包名字不同nnpython2是Tkinter, python3是tkinternn在windows下python2抒写一个GUI代码如下nn#导入Tkinter模块中的所以子模块nnfrom Tkinter import *nnimport tkSimpleDialog as dlnnimport tkMessageBox as mbnnroot =...
python3中,Tkinter中关于grid布局说明
python3中,Tkinter中关于grid布局说明
python图形界面tk 1.4 按钮(Button)
n n n 目录页请猛击我n创建按钮和设置它们的文本属性n#!/usr/bin/env pythonn# -*- coding: utf-8 -*-nnnimport tkinter as tknfrom tkinter import ttknnwin = tk.Tk()nwin.title("Python GUI") # 添加标题naLabel = ttk.L...
Tkinter 组件详解(三):Checkbutton
Tkinter 组件详解之CheckbuttonnnCheckbutton(多选按钮)组件用于实现确定是否选择的按钮。Checkbutton 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。nnCheckbutton 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷...
lambda函数在Tkinter中的一个应用
一直不太了解Python中lambda函数的作用。最近要获取Tkinter中的输入数据,发现了lambda的一个妙用。 n我用Tkinter来生成一个GUI界面。在其中的Text控件中输入数据,点击Send按钮后,获取输入数据到一个deque中。界面如下: n在createWidgets函数中生成TextBox跟Send按钮: def createWidgets(self):n self.m
利用多线程解决Tkinter,在button事件中执行高io,高耗时操作,窗口无响应问题
    昨天利用python自己写了一个微型服务器,突发奇想用Tkinter写一个GUI界面,并将监听开始的函数绑定到其中的一个button上,但是当我点击开始服务button时,窗口立马陷入无响应状态。搜寻一番发现,是服务器函数中的while循环阻塞了GUI的响应,同理而言,做高I/O操作也一样会面临这种情况,同时用一个线程处理GUI响应与功能函数极易导致资源紧缺,进而导致窗口无响应。解决方法:...
Python学习(29)--tkinter图形界面编程2
           这一节我们将继续介绍tkinter中的控件部分,本节主要介绍的控件为下拉列表控件Listbox。1.Listbox       Listbox是一个列表框控件,其主要功能为提供一个数据列表供用户选择。用户可以通过鼠标选中列表框提供的数据,但不能修改列表框中的数据项。应用程序可以对用户的选中数据项事件作出响应。代码例子如下:import tkinternwin=tkinter....
Python图形界面编程---Tkinter模块使用
偏函数在GUI应用举例具体内容可以参考Python函数式编程——偏函数(PFA)偏函数允许预存函数变量并冻结这些预定参数,运行所需的变量再解冻,由这些最终的参数去调用函数# -*- coding: UTF-8 -*-nfrom functools import partial as ptonfrom Tkinter import Tk, Button, Xnfrom tkMessageBox imp
同一图形界面:tkinter和wxPython代码对比
一:运行效果n1.tkinter运行效果nnn2.wxPython运行效果nnn二:代码n1.tkinter代码nfrom Tkinter import *nfrom tkFont import Fontnnclass Test(object):n def __init__(self):n self.root = Tk()n self.root.
python3中,关于Tkinter中Button参数的问题
python3中,关于Tkinter中Button参数的问题
Python Tkinter详解 (三)Button按键的使用
#创建一个按钮rn#上一节我们已经介绍了怎么创建空间,多余的就不讲了,我们先创建一个宽20,长2,显示文字为‘单击’的按钮练练手rnrnimport tkinter as tkrnrnwindow = tk.Tk()rnwindow.title("button")rnwindow.geometry("800x480")rnrntk.Button(window,width=20,height=2,text='单击')...
python tkinter界面中添加按钮的方法
tkinter是python自带的GUI库,可以实现简单的GUI交互,该例子添加了五种不同效果的Button,如图:nfrom tkinter import *nfrom tkinter import messagebox #python3.0的messagebox,属于tkinter的一个组件nntop = Tk()ntop.title("button test")ndef callback(
python-Tkinter按钮触发事件(三)
python-Tkinter按钮触发事件(三)一、图文并茂from tkinter import *n'''n实现图文并茂,上面的textLabel组件设置文本格式的。下面imgLabel组件设置图片显示格式。n'''nroot = Tk()nntextLabel = Label(root,n text='您不是会员不能下载VIP资源\n前先注册会员再来下载资源'...
Python之tkinter中文教程,图形界面
Python之tkinter中文教程,图形界面, Python进阶,Python爬虫基础
使用python自带的tkinter库开发图形界面
虽说使用pyqt5开发图形界面更美观,更高效,但想要开发轻量级的小工具,pyqt5不免太过庞大,这时tkinter就派上用场了。nn一、一个简单的tkinter模板nnnimport tkinter as tknfrom PIL import Image, ImageTknnclass AppUI():n def __init__(self):n self.root = tk....
Python_tkinter(按钮,文本框,多行文本组件)
用于定义gui界面中的按钮组件nnn   tkinter.Button](用于存放的父组件,属性参数...)nn组件1按钮nn具备以下属性:nnanchor          n 设置按钮中文字的对其方式,相对于按钮的中心位置n background(bg)  n 设置按钮的背景颜色n foreground(fg)  n 设置按钮的前景色(文字的颜色)n borderwidth(...
10.5Python图形用户界面库tkinter(5):表格布局
class GridManagerDemo:n def __init__(self):nn # 窗口和标题n window = Tk()n window.title ("网格布局管理器")nn # 在窗口上创建若干控件n msg = Message(window, text="我是消息,我是消息,我是消息,我是消息")n ...
Python图形界面编程---Tkinter模块基础
Python本身语法优美, 但一旦到了GUI就丑陋得不行. nPython有很多GUI开发系统PyQt,PyGTK,wxPython,TkInter….等等 n最近还有一种解决办法,使用html5搭建界面,加上一个web框架 n结构形如:Python+HTML5+JS+Python n商业上PyQt用的多,这里只介绍Tkinter。TkinterTkinter是TK在python里的一个接口。TK是
Tkinter教程
Python Tkinter教程,简单介绍Python图形界面编程技术。
python Tkinter 界面button调用多进程函数,弹出多个相同界面
这是我的界面button command的函数start_simulatennnn这是我的多进程函数 :nnnn点击之后,弹出多个相同界面nn把调用多进程的函数在nnnif __name__ == '__main__':nn这里调用就不会出现多个界面...
python tkinter Button控件上的图标或文字的变化
实现目标nn点击按钮,实现属性的变化,根据状态的不同做区分操作nn效果图nnnnnn实现方式-1nnnimport tkinter as tknndef click1():n global flag_picn flag_pic = not flag_picn if flag_pic:n btn_1['image']=pic_2n else:n b...
提问:为什么Tkinter的被焦点的Button按钮,鼠标点击和空格键有一样的效果
引用一段Button例子的代码,rn源自:http://blog.csdn.net/jcodeer/article/details/1811298rn作者:jcodeer rn 博客:Tkinter教程之Button篇(1)rnfrom Tkinter import *rnrndef cb1():rn    print 'button1 clicked'rndef cb2(event):rn   
棋盘覆盖图形界面(python自带tkinter库实现)
棋盘覆盖图形界面(python)nnnn一、解决方案和关键代码nnn工具: python tkinter库n问题描述: n  在一个2^k×2^k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有4^k种情形.因而对任何k≥0,有4^k种不同的特殊棋盘。 n  在棋盘覆盖问题中,要用下图中 4 中不同形态的 L 型骨牌...
10.4Python图形用户界面库tkinter(4):画布与绘图
class CanvasDemo:nn def __init__(self):nn # 窗口和标题n window = Tk()n window.title("画布")nn # 打包一个画布到窗口n self.canvas = Canvas(window, width=400, height=300, bg="#FFFFF...
python3 tkinter如何绑定事件
一、目的在上一篇《python3 实现自动生成入账记录表》说到通过编辑bat文件进行参数的输入不是很方便,本篇就是用tkinter模块制作输入信息界面,输入完成点击’ok’键,触发写好的脚本,使得自动生成入款对账记录表格。二、tkinter安装说明python3.5版本,tkinter是内置模块,无需另外进行安装。使用tkinter,只要 import tkinter 。三、思路n整理原先写好的
Python 定时自动关机附带Tkinter图形界面GUI
代码实现windows系统下的定时关机 n shutdown指令n注释基于tkinter类库,实现图形界面的windows环境定时关机Python程序,编码环境Python 3.5.2,在安装完python环境后 拷贝保存代码双击即可运行哦。实现后效果命令n ordern 备注 -shutdown-ln 注销这不能与/m或/d选项一起使用n -shutdown-sn 关闭计算机n -
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python图形界面教程 java学习返回值