tkinter创建子窗口(只创建一个)

2023-11-17


import tkinter as tk
#第一种直接写个类
class OneUi:
    def __init__(self,master:tk.Tk):
        self.top=tk.Toplevel(master)
        self.top.geometry('600x400+100+400')
        # self.top.overrideredirect(True)
        self.top['bg']='cyan'
        self.creat_widgets()

    def creat_widgets(self):
        self.label=tk.Label(self.top,text='minmin')
        self.label.pack()

    def exists(self):
        return self.top.winfo_exists()

    def show_top(self):
        return self.top.deiconify()



class MainWindow:
    def __init__(self,root:tk.Tk):
        self.root=root

        self.btn=tk.Button(self.root,text='btn_click',command=self.show_oneui).pack()
    def show_oneui(self):
        if not hasattr(self.root,'child_window') or not self.root.child_window.exists():
            self.root.child_window=OneUi(self.root)
        else:
            self.root.child_window.show_top()


if __name__ == '__main__':
    root=tk.Tk()
    root.geometry('600x500')
    MainWindow(root)

    root.mainloop()

#第二个用继承
import threading
import time
import tkinter as tk

class OneUi(tk.Toplevel):
    def __init__(self,master:tk.Tk):
        super(OneUi, self).__init__(master)
        self.geometry('600x400+100+400')
        # self.top.overrideredirect(True)
        self['bg']='cyan'
        self.creat_widgets()

    def creat_widgets(self):
        self.label=tk.Label(self,text='minmin')
        self.label.pack()

 


class MainWindow:
    def __init__(self,root:tk.Tk):
        self.root=root
        self.btn=tk.Button(self.root,text='btn_click',command=self.show_oneui).pack()
    def show_oneui(self):
        if not hasattr(self.root,'child_window') or not self.root.child_window.winfo_exists():
            self.root.child_window=OneUi(self.root)
        else:
            self.root.child_window.deiconify()





if __name__ == '__main__':




    root=tk.Tk()
    root.geometry('600x500')
    MainWindow(root)

    root.mainloop()



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tkinter创建子窗口(只创建一个) 的相关文章

  • python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

    我有一组以十进制表示的 GPS 坐标 并且我正在寻找一种方法来查找每个位置周围半径可变的圆中的坐标 这是一个例子 http green and energy com downloads test circle html我需要什么 这是一个圆
  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • 删除flask中的一对一关系

    我目前正在使用 Flask 开发一个应用程序 并且在删除一对一关系中的项目时遇到了一个大问题 我的模型中有以下结构 class User db Model tablename user user id db Column db String
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 如何在不丢失注释和格式的情况下更新 YAML 文件 / Python 中的 YAML 自动重构

    我想在 Python 中更新 YAML 文件值 而不丢失 Python 中的格式和注释 例如我想改造 YAML 文件 value 456 nice value to value 6 nice value 界面类似于 y yaml load
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • linux下opencv2.4 静态库编译与使用(针对内网主机无法安装opencv情况下使用)

    linux下opencv2 4 静态库编译与使用 针对内网主机无法安装opencv情况下使用 1 如果内网主机无法通过网络安装opencv环境 此时需要使用静态库编译方法生成opencv应用程序 此时需要opencv相关的libxx a 2
  • ElasticSearch IK分词器配置远程词典

    ElasticSearch IK分词器配置远程词典 1 在线安装IK分词器 2 IK分词器的弊端 3 解决措施 配置远程词典实时更新 补充 1 在线安装IK分词器 ElasticSearch中默认的分词器是standard 该分词器对中文按
  • 每日一题:序列操作

    序列操作 题目 Daimayuan Online Judge 没啥思路 如果暴力的话肯定会超时 太难了太难了 参考了题解想了好久才弄懂 该题是思维题 操作1是将第x个数变为y 输入的时候就可以修改值了 毕竟只要一个语句就行 每次操作都是将x
  • seata 1.4.2 执行seata-server.bat报错:Could not create connection to database server.

    seata 1 4 2 执行seata server bat报错 18 40 17 778 ERROR tionPool Create 343563528 com alibaba druid pool DruidDataSource cre
  • 网络整理续

    计算机网络简答题 1 TCP 协议和 UDP 协议的区别有哪些 1 TCP 属于面向连接的协议 UDP 属于面向无连接的协议 2 TCP 可以保证数据可靠 有序的传输 可以进行流量控制 UDP 无法实现 3 TCP 协议有效载荷小于 UDP
  • Linux下20个常用Linux性能监控工具/命令

    此文章不作为商业用途 纯粹的用来学习 20个常用Linux性能监控工具 命令 对于 Linux Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具 这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因
  • vscode实用快捷键查找和替换

    vscode是一款功能十分强大的编辑器 且带有许多插件 利用插件可以让开发速度提升几倍甚至几十倍 vscode快捷键 查找 单文件查找 ctrl F 替换 单文件内替换一处 crtl shift 1 单文件内替换全部 ctrl alt en
  • mybatis-plus中wrapper的用法(详细)

    用到了wrapper ge le ne eq等的用法 及多表查询自写sql整理资料记录一下 以备后续复习 目录 可点击相应目录直接跳转 一 条件构造器关系介绍 条件构造器关系介绍 wapper介绍 二 项目实例 1 根据主键或者简单的查询条
  • 优秀程序员和一般程序员有什么区别?

    优秀程序员和一般程序员有什么区别 为什么有的人一入职就能平步青云 而有的人入职很久却一直在原地打转 程序员的职场进阶之路到底有多少门道 今天 我们邀请到了前Google Top Performer 来Offer的闫老师 给大家分享一下他的职
  • gitlab CI/CD系列之使用 GitLab Runner注册和基本环境配置

    由于很多时候我们的环境搭建都是在已经在对应的设备上搭建完成 或者是我们直接使用一个配置好的docker容器 开机自动启动 作为ci cd的运行环境 所以为了便利性这里主要使用的是shell模式 简介 理解了上面的基本概念之后 有没有觉得少了
  • netty-all 简介、中文文档、中英对照文档 下载

    netty all 文档 下载链接 含jar包 源码 pom 组件名称 中文 文档 下载链接 中英对照 文档 下载链接 netty all 4 0 50 Final jar netty all 4 0 50 Final API文档 中文版
  • 头歌实践教学平台数据结构与算法:02线性表

    针对数据结构02线性表在头歌平台练习过程中的完成代码 关卡数目较多 每题思路单独在每一关中解释 如有其他需求请留言 第一关 可以把问题转换为 遍历B中的元素 如果该元素不在A中 则把该元素插入到A中 由于集合中的元素没有先后顺序 因此 插入
  • Vue项目之登录注册

    Vue项目之登录注册 1 注册 1 1 注册页面的布局 1 2 注册业务逻辑的实现 2 登录 3 导航守卫 3 1全局导航守卫 全部路由都会经过这里 一定要调用next方法向下执行 3 2 路由独享的导航守卫 3 3 组件内的导航守卫 补充
  • ReactHook RefHook

    1 除了可以进行ref操作以外 还能进行数据存储的操作 即相当于在函数式组件中拥有了this 2 ref的改变不会引起组件的重新渲染 1 引入 import React Component useRef from react 2 使用ref
  • APP 抓包和微信小程序抓包-Charles 的精简使用教程

    APP 抓包和微信小程序抓包 Charles 的精简使用教程 2021 09 25 更新 2019 07 10 更新 目标 教程 一 安装 Charles 二 Charles 简介 1 Charles 欢迎页面 2 基础功能按钮 3 抓包内
  • 可视化爬虫框架spiderflow入门及实战

    官网 点击直达官网 文档 点击查看官网文档 说明 目前官网和文档均无法正常访问 原因未知 参考本文即可 再有问题欢迎留言讨论 以下内容部分来自官网或官网文档 文章比较长 请准备好瓜子和小板凳 TIP 文中用到的网站地址仅为了说明功能 如有侵
  • Android——微信登录、分享

    写在前面的话 应用要接入微信登录 分享 需要在微信的开发者平台上进行提交应用 并且审核通过 应用已经获取到appId 相关jar包下载地址 http download csdn net detail sapce fish 9571142 也
  • 链式栈(c)

    链式栈 在上节我们提到了顺序栈 而链式栈就是把顺序栈用链表的方式来存储 如果对链表和顺序栈的学习较为深刻的话 学习链式栈会非常容易 首先第一步和单链表操作基本相同 创建一个结构体 一块是数据域 另一块是指针域 用来指向下一个元素 typed
  • linux文件夹重命名

    微信可以设置雪花昵称了 真漂亮 在Linux下重命名文件或目录 可以使用mv命令或rename命令 这里分享下二者的使用方法 mv命令既可以重命名 又可以移动文件或文件夹 例子 将目录A重命名为B mv A B 例子 将 a目录移动到 b下
  • tkinter创建子窗口(只创建一个)

    import tkinter as tk 第一种直接写个类 class OneUi def init self master tk Tk self top tk Toplevel master self top geometry 600x4