首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tkinter OptionMenu在调用命令以创建新Toplevel后重新聚焦于自身

Tkinter OptionMenu是一个下拉菜单组件,用于在Tkinter图形用户界面中显示选项列表。当选择一个选项时,可以调用一个命令来执行相应的操作。

在调用命令以创建新Toplevel后重新聚焦于自身,可以使用Tkinter的focus方法。该方法可以将焦点设置到指定的组件上,使其成为当前活动组件。

以下是一个示例代码,演示了如何在调用命令以创建新Toplevel后重新聚焦于自身:

代码语言:txt
复制
import tkinter as tk

def create_new_toplevel():
    # 创建新的Toplevel窗口
    new_toplevel = tk.Toplevel(root)
    new_toplevel.title("New Toplevel")
    
    # 创建OptionMenu组件
    option_var = tk.StringVar(new_toplevel)
    option_var.set("Option 1")
    option_menu = tk.OptionMenu(new_toplevel, option_var, "Option 1", "Option 2", "Option 3")
    option_menu.pack()
    
    # 定义命令函数
    def command_function():
        # 执行相应的操作
        print("Selected option:", option_var.get())
        
        # 聚焦于自身
        new_toplevel.focus()
    
    # 绑定命令函数
    option_menu.configure(command=command_function)

root = tk.Tk()

# 创建OptionMenu组件
option_var = tk.StringVar(root)
option_var.set("Option 1")
option_menu = tk.OptionMenu(root, option_var, "Option 1", "Option 2", "Option 3")
option_menu.pack()

# 定义命令函数
def command_function():
    # 执行相应的操作
    print("Selected option:", option_var.get())
    
    # 创建新的Toplevel窗口
    create_new_toplevel()

# 绑定命令函数
option_menu.configure(command=command_function)

root.mainloop()

在上述代码中,首先创建了一个根窗口(root),并在其中创建了一个OptionMenu组件。然后定义了一个命令函数(command_function),用于在选择一个选项时执行相应的操作,并调用create_new_toplevel函数创建新的Toplevel窗口。在命令函数中,通过调用new_toplevel.focus()将焦点重新聚焦于新的Toplevel窗口。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。关于Tkinter OptionMenu的更多信息和用法,请参考腾讯云的官方文档:Tkinter OptionMenu

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

100个Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序

本文主要是使用 Python 的 Tkinter创建一个简单的闹钟程序,它可以指定的时间播放一个声音来提醒你。...本文已收录️100个Python实战项目专栏 目前已有100+项目,源码持续更新中,前100位订阅限时优惠,先到先得。 现在让我们逐个解释每个代码块的作用。...from tkinter import * import datetime import time import winsound from threading import * 首先,我们导入了 tkinter...接着用 OptionMenu 创建了三个选项菜单,分别用来选择小时、分钟和秒数。 综上所述,本文提供了一个基本的闹钟应用程序,可以通过GUI界面设置和启动。...当闹钟时间到达时,应用程序将播放声音,提醒用户。

93610

Python-Tkinter图形化界面设计(详细教程 )

当导入tkinter模块调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(像素为单位)。...lb.configure(text=timestr) # 重新设置标签文本 root.after(1000,gettime) # 每隔1s调用函数 gettime 自身获取时间...由于列表框实质上就是将Python 的列表类型数据可视化呈现,程序实现时,也可直接对相关列表数据进行操作,然后再通过列表框展示出来,而不必拘泥可视化控件的方法。...如下的例子:根窗体上创建菜单,触发创建一个的窗体 ?...用Toplevel创建的子窗体是非模式(Modeless)的窗体,虽然初建时子窗体最前面,但根窗体上的控件实例也是可以被操作的。

14K40

零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

当导入tkinter模块调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(像素为单位)。...新建窗体容器 顶层创建窗体 4、控件的共同属性 在窗体上呈现的可视化控件,通常包括尺寸、颜色、字体、相对位置、浮雕样式、图标样式和悬停光标形状等共同属性。...lb.configure(text=timestr) # 重新设置标签文本 root.after(1000,gettime) # 每隔1s调用函数 gettime 自身获取时间...如下的例子:根窗体上创建菜单,触发创建一个的窗体 from tkinter import * def newwind(): winNew = Toplevel(root)...用Toplevel创建的子窗体是非模式(Modeless)的窗体,虽然初建时子窗体最前面,但根窗体上的控件实例也是可以被操作的。

13.8K30

【python】tkinter组件,from Tkinter import * 与 import Tkinter 的区别

PyQt和PySide2这两者最大的区别就是协议的不同,来自不同的开发商,但其实这两个如果要修改并兼容的话,改动并不是很大,具体的可以参照Qt官方文档介绍 虽然PyQt发布的早,并且稳定,资料也比较多...LGPL协议是一个商业友好的协议使用 LGPL 协议开发闭源程序,如果你使用动态链接的形式,那么,你可以任何形式(商业的、非商业的、开源的、非开源的等等)发布你的应用程序。...GPLv3许可证大概意思就是说,使用PyQt你的程序就必须要开源,如果闭源商用就会违反协议,后果自负,国内可能很多公司部注重这个,随便在用,但是如果公司比较有影响力的话,违反协议说不定哪天收到律师函...,局部变量就可以认为是函数或方法的属性嘛 OptionMenu(self.root, variable, "one", "two", "three") 2、如果是 import Tkinter,那么不能省略掉模块名...Tkinter import Tkinter,那么不能省略掉模块名Tkinter Tkinter.OptionMenu(self.root, variable, "one", "two", "three

2.8K20

python笔记:可视化界面写作尝试

因此,这里,我们先使用一个简单的显示窗口来走一遍整个流程,介绍一下窗口创建的流程以及插件安放的方法。 1. 可视化界面的创建 这里,我们给出基于tkinter写作可视化界面的最基础代码如下。...Button组件 tkinter中的Button组件事实上等价LabVIEW当中的bool按键,它的基本用法如下: button = tk.Button(window, text="Ok", width...Optionmenu组件 Optionmenu组件和Listbox组件功能上事实上差不多,但是前者是平铺式的将所有可选项全部显示出来,而Optionmenu则是通过一个折叠窗口将选项进行了隐藏。...Canvas组件 Canvas组件就是tkinter库中的画布组件,我们要进行图片的绘制,首先就要创建一个画布,即实例化一个Canvas类,然后将所有的图像元素添加到画布上之后进行pack展示。...menu当中定义的menu的方式构建多层级的菜单栏; menu中可以通过add_command方法菜单栏中加入功能选项,其中的command参数即为点击该菜单项时会执行的行为函数; menu的添加方式和其他组件的添加方式略有不同

4.5K30

Python打包GUI界面组件汇总,Tkinter(TK)实例代码

Tkinter绑定了 Python 的 Tk GUI 工具集 ,就是Python 包装的Tcl代码,通过内嵌 Python 解释器内部的 Tcl 解释器实现, Tkinter调用转换成 Tcl 命令..."250x150") #设置窗体大小 MainForm.title("三酷猫") #设置的窗体标题 #MainForm.iconbitmap('图片路径') #设置窗体图标 MainForm['background...callback(): #定义菜单鼠标单击事件回调函数 root.title("OK") #调用成功,在窗体标题上显示 OK filemenu=Menu(m1) #m1菜单实例上建立新的子菜单实例...,width=60) #调用 Message 组件显示信息 m1.pack() #在窗体默认方式设置 Message 信息(12) b_show=Button(master,text="确认"...子窗体组件 tL_show=Toplevel(master) #创建子窗体实例 tL_show.wm_attributes("-topmost",1) #设置该子窗体始终界面最前面(15) tL_show.title

6.7K21

Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具)

tkinter 打包成exe可执行文件 ttkbootstrap美化打包 部分控件的使用说明(重要) Label,标签条VB和Python中基本一样。...ComboBox 组合框在Tkinter中没有对应的控件,比较类似的只有OptionMenu,类似ComboBox 的Style=2 (Dropdown List)时的表现,一个下拉列表,只能在列表中选择一个值...如果需要滚动,则在适当位置创建滚动条,然后Addin界面选择其xscrollcommand 和yscrollcommand属性为对应滚动条的.set方法。...如果使用自带安装程序安装了插件,现在VB的工具条上应该有一个图标(一片橙红色羽毛),如果没有,到菜单"外接程序"|“外接程序管理器” 里面启动Visual Tkinter,Visual Tkinter...因为对于实现 简单的程序来说,我偏爱单文件,所以我将UI类和逻辑代码类都放在同一个 文件中,修改界面,你可以直接覆盖对应的Application_ui类即可实现 界面的变更,不过如果增加了的事件回调函数

5.6K40

​Python | GUI编程之tkinter (一)

要学习GUI编程,你大概会经历这样一条路径: 认识tkinter模块,写一个简单GUI程序 认识各种控件、学习布局、使用容器 实战检验动手能力和想象力 PS:你可能还需要了解一些消息驱动的知识 下面我们进入正式的学习...tk.Label(win, text=text).pack() # 进入消息循环,显示窗口界面 win.mainloop() 你可以将上述代码保存在一个扩展名为pyw的的文件里,这样,这个程序可以双击启动,而且启动时不会开始命令行...tkinter中,一共提供了15个控件,下面我们来认识一下它们。 控件名称 描述 Button 按钮控件;程序中显示按钮。...background(bg) 背景颜色:用来定义控件的背景颜色 bitmap 位图:定义显示控件中位图文件 borderwidth 边框宽度:定义控件的边框宽度 command 命令:指定特定的函数...独立窗口控件:Toplevel from tkinter import * root = Tk() def create_toplevel(): top = Toplevel() top.title

5.9K31

Tkinter mainloop() 循环的逻辑,以及变量为什么不会被重新赋值为初始值?

1、问题背景使用 Tkinter 开发 GUI 程序时,您可能会遇到这样的疑问:为什么使用 window.mainloop() 循环时,变量不会被重新赋值为它们的初始值?...难道 window.mainloop() 的逻辑不会覆盖 canvastext,使其再次具有文本值“Hi”,而不是的 Spinbox 值吗?...,我们创建了一个窗口,并在其中添加了一个画布、一个下拉列表和两个菜单。...因此,在上面的代码中,当用户选择下拉列表中的选项时,hello() 函数会被调用。hello() 函数会更新画布上的文本,并将新文本显示出来。...希望这篇技术文章能够帮助您理解 Tkinter window.mainloop() 循环的逻辑,以及变量为什么不会被重新赋值为初始值。

16510

Python图形界面GUI程序设计

图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,选择命令调用文件、启动程序或执行其它一些日常任务。...与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。...工具包的接口 .Tk 和 Tkinter 可以大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。...=Button() #创建按键控件 bm.pack() #显示控件(放在窗口创建的后面) tk_bg.mainloop() #显示窗口(放最下面) 5、画一个简单的的窗口 想要在窗口显示文字,需要调用Label..."]= "确定" #写入文本 bm.pack() #显示控件 tk_bg.mainloop() #显示窗口 注:TK中的窗口显示顺序默认是自上而下的,先调用pack()的控件会显示在上面,调用的会显示在下面

4.8K20

Python的GUI编程和tkinter,Wxpython

当导入tkinter模块调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(像素为单位)。...() 这里稍微做一点说明,这个实例来自菜鸟教程,而在菜鸟教程上的写法是 import tkMessageBox ,还是有很多区别的,python3以后的版本中,tkinter应该首字母小写,而tkMessageBox...及库中对应的函数应该相应改为tkinter.messagebox 具体使用按钮组件进行函数调用时也有对应内容: 直接调用函数。...lb.configure(text=timestr) # 重新设置标签文本 root.after(1000,gettime) # 每隔1s调用函数 gettime 自身获取时间...root.after(1000,gettime) # 每隔1s调用函数 gettime 自身获取时间 root = tkinter.Tk() root.title('时钟') var=tkinter.StringVar

17010

Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解

分享给大家供大家参考,具体如下: 相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton...tkinter的使用: 1.模块的导入 [tkinter是python默认的gui库,所以一般不需要另外安装模块]:from tkinter import * 2.使用: 创建主窗口:root...,所有控件都需要附着界面上,如果程序中没有指定控件附着的窗口,将默认附着到主窗口Tk中,如果程序中没有定义Tk,那么将自动创建一个 常见属性【想要初始化主窗口的属性需要使用 主窗口对象.属性(“参数”...常用参数设置【可以创建按钮的时候指定,也可以创建使用 按钮对象.config() 来设置】: text:按钮上的文本显示 anchor:按钮上内容的位置[取值:n, ne, e, se, s, sw...参数设置:可用参数参考上面Menu的,用法同样可以参考按钮Button的 添加菜单的方法参考Menu的 注意:这次不是root里面config了,而是菜单按钮中设置 from tkinter import

9.5K10

基于tkinter的GUI编程

= 0) #创建菜单 6 menu.add_command(label = 'Copy') #向弹出式菜单中添加Copy命令 7 menu.add_command(label...#将n赋值为0重新开始循环 25 tkinter.messagebox.showwarning('Python tkinter','showwarning') 26 buttontext.set...函数,可选参数有: title:指定对话框标题 prompt:指定对话框中显示的文字 initiavalue:指定输入框的初始值 使用tkinter.simpledialog模块中的函数创建对话框,将返回对话框中文本框的值...模块中的函数创建对话框,将返回文件的完整路径 1 #_*_ coding:utf-8 _*_ 2 import tkinter 3 import tkinter.filedialog 4 def...使用tkinter.colorchooser模块中的函数创建对话框,将返回颜色的RGB值以及可以Python tkinter中使用的颜色字符值 1 #_*_ coding:utf-8 _*_ 2

5.4K10

错误、异常

= 0) #创建菜单 6 menu.add_command(label = 'Copy') #向弹出式菜单中添加Copy命令 7 menu.add_command(label...#将n赋值为0重新开始循环 25 tkinter.messagebox.showwarning('Python tkinter','showwarning') 26 buttontext.set...函数,可选参数有: title:指定对话框标题 prompt:指定对话框中显示的文字 initiavalue:指定输入框的初始值 使用tkinter.simpledialog模块中的函数创建对话框,将返回对话框中文本框的值...模块中的函数创建对话框,将返回文件的完整路径 1 #_*_ coding:utf-8 _*_ 2 import tkinter 3 import tkinter.filedialog 4 def...使用tkinter.colorchooser模块中的函数创建对话框,将返回颜色的RGB值以及可以Python tkinter中使用的颜色字符值 1 #_*_ coding:utf-8 _*_ 2

6.3K10

python tkinter 设计指南

如何打包 Python 文件至 Mac app pyinstaller -F demo.py 参数 含义 -F 指定打包只生成一个exe格式的文件 -D –onedir 创建一个目录,包含exe文件...则 Tkinter 主窗口右上角 x 号的关闭功能失效, # 也就是无法通过点击 x 来关闭窗口,转变成调用用户自定义的函数。...密码:").grid(row=1) # 创建输入框控件 e1 = tk.Entry(win) # * 的形式显示密码 e2 = tk.Entry(win,show='*') e1.grid(row...#创建-一个 Button控件.当用户输入完毕,单击此按钮即计算表达式的结果 button1 = Button (frame, text="等 ",command=calc) #设置Entry控件为焦点所在...可设置 in_ 参数项,相对于某个其他控件的位置 height、width 控件自身的高度和宽度(单位为像素) relheight、relwidth 控件高度和宽度相对于根窗体高度和宽度的比例,取值也

6.7K30

【Python】Python+SQL Server+Tkinter实现电影院票务系统:课程设计详解(一)

Python课程设计一、引言 本课程设计中,我们将详细介绍如何使用Python、SQL Server和Tkinter来设计和实现一个功能完善的电影院票务系统。...同时,我们将利用Tkinter创建直观、交互式的用户界面,让用户能够轻松浏览电影列表、选择场次、预订座位并管理订单。...增删改查电影信息:管理员可以添加的电影信息到数据库中,包括电影名称、类型、上映时间等。管理员可以修改电影信息,如更新电影详情、修改上映时间等。管理员可以删除不需要的电影信息。...输入管理员账号,密码登录,信息存user表查询订单代码如下:def view_orders(self): # 查询所有的订单信息 query = "SELECT * FROM orders...= tk.Toplevel(self.root) view_orders_window.title("查看订单") view_orders_window.geometry("1250x700

64032

Python GUI项目实战(四)实现学生明细窗体GUI设计

tkinter里面有一个类Tk,其功能是产生一个主窗体,我们前面每次创建窗体时都用到了它。但是tkinter里有一个规定,应用程序同时只能运行一个主窗体。...如果想同时加载两个窗体,第二个窗体必须要以子窗体的形式打开,这里我们就可以使用Toplevel创建子窗体。...双击表格触发 我们想双击TreeView中的某一行表格,就能触发查看明细信息的功能,首先我们定义一个查看明细信息的方法view_student(),由于双击是一个事件,所以调用函数的时候需要添加一个参数...1.添加标志参数 实例化明细窗体的时候,添加一个标志参数action_flag,我们通过区分action_flag参数的值,来确定什么样的模式进行加载。...(text="==新建学生明细==") elif self.flag == 3: self.Label_title.configure(text="==修改学生明细==") 创建好修改标题的函数

2.6K20

浅析 Android 的窗口

(7)检查通过后,如果需要创建的 WindowToken,会 attrs.token 为 key,add 到 mTokenMap 中。...(8)WindowState 创建,会 IWindow 为 key (对应应用进程中的 ViewRootImpl.W 类对象 mWindow,重要的事强调多遍!!...分析了后面子窗口的创建,以及系统窗口的创建,我们会知道其实任何一个窗口的创建,最终都是会创建一个 ViewRootImpl对象。...OptionMenu (选项菜单) 选项菜单一般是用户按下”Menu”键弹出的菜单,要启动 OptionMenu,一种是按下“Menu”键,另一种是调用 openOptionsMenu 方法。...ViewRootImpl 收到要删除窗口的命令,会执行以下操作,详细见源码分析: (1)判断是否可以立即删除窗口,否则会等下次 UI 操作时执行; (2)确认需要删除窗口时,会执行 doDie 方法

3.6K112

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券