前些日子,我想自己写个小工具,仅选择文本文件处理成我需要的格式化文本。但,除了显示文件选择框外,我又不想显示其他窗体,所以了开始了本文的探索之旅。

探索环境:

Python: 2.7/3.6

OS: Windows 10/Linux Mint 18

GUI: Tkinter

1.隐藏窗体

我查了下文本选择框MessageBox是Tkinter下的一个包,必须依托于主窗体,否则没法使用。但在主窗体上再单独放一个孤立的按钮,我觉得不值得,所以想着能不能让主窗体不显示(隐藏)。

import tkinter.messagebox

from tkinter import *

tkinter.Tk().withdraw();

tkinter.messagebox.showinfo("标题","内容");

我最初查到的资料,大致就是上面的样子(原始资料已找不到,很抱歉),也就是说withdraw方法让窗口隐藏了。

withdraw()

Removes the window from the screen, without destroying it.

Reference: https://www.tutorialspoint.com/python3/tk_toplevel.htm

之前一直不解withdraw到底干了啥,最近看到上面的这段描述我才知道,withdraw从屏幕上移除了窗体,但是没有销毁它。大概和隐藏也差不多了,嗯,初步目标算是达成。

2.Tkinter中的窗体

作为一个不折腾不舒服星人,单单一个隐藏窗体怎么能满足我呢?不可能,要是跑出别的窗体出来害我怎么办?治他,先下手为强。

百度了一下,出现了tk(根窗口)和toplevel(顶级窗口)。

Toplevel(顶级窗口)组件类似于 Frame 组件,但 Toplevel 组件是一个独立的顶级窗口,这种窗口通常拥有标题栏、边框等部件,和 Tk() 创建出来的根窗口是一样的,共享着一样的方法。

Reference: https://blog.csdn.net/sinat_41104353/article/details/79320155

有点懵懂的一知半解,也就是看起来实际上只有tk一种,toplevel只是一种组件有着类似窗体的功能和属性。

我们都见过美术生写生的情景,先支一个画架,放上画板,蒙上画布,构思内容,用铅笔画草图,组织结构和比例,调色板调色,最后画笔勾勒。相应的,对应到tkinter编程,那么我们的显示屏就是支起来的画架,根窗体就是画板,在tkinter中则是Toplevel,画布就是tkinter中的容器(Frame),画板上可以放很多张画布(Convas),tkinter中的容器中也可以放很多个容器,绘画中的构图布局则是tkinter中的布局管理器(几何管理器),绘画的内容就是tkinter中的一个个小组件,一幅画由许多元素构成,而我们的GUI界面,就是有一个个组件拼装起来的,它们就是widget。

Reference: https://www.cnblogs.com/shwee/p/9427975.html

上面这篇博客的作者比喻的很形象,toplevel是画板,frame是画布,个人感觉很形象,也更加确信了toplevel仅仅是一个组件的观点。

好了,这次就折腾这么写东西,算是留篇学习笔记,有不甚专业之处请多包涵,欢迎有不同的见解高手们留言指教。

python tkinter 窗口 隐藏 显示_【Python GUI】隐藏窗体和弹窗窗体的探索相关推荐

  1. Python - 如何在Tkinter窗口中显示视频预览

    from moviepy.editor import * from moviepy.video.fx.resize import resize import pygame pygame.display ...

  2. Python Tkinter 之Listbox控件(Python GUI 系列12)

    Python Tkinter 之Listbox控件(Python GUI 系列12) 1. 序言 本章介绍Tkinter的Listbox控件,本文是Python GUI系列的第12篇文章,整个系统约2 ...

  3. Python Tkinter 之Radiobutton控件(Python GUI 系列8)

    Python Tkinter 之Radiobutton控件(Python GUI 系列8) 1. 序言 本章介绍Tkinter的Radiobutton控件,本文是Python GUI系列的第8篇文章, ...

  4. python命令提示符窗口在哪里_详解python命令提示符窗口下如何运行python脚本

    以arcgispro的python脚本为例在arcgispro自带的python窗口下运行python脚本 需求: 将arcgispro的.aprx项目包中gdb的数据源路径更换为sde数据源路径. ...

  5. python tkinter 窗口嵌套_Python:在Tkinter GUI中嵌入pandas图

    我在Python 2.7中使用pandas DataFrames编写应用程序.我需要将我的DataFrames列绘制到Tkinter窗口.我知道我可以使用DataFrame或Series上的内置绘图方 ...

  6. python的gui界面文件管理_【Python】学生信息管理系统_开发(GUI界面)

    学生信息管理系统的开发 模块:  1. 系统登录界面   -->   logingui.py 2. 系统主界面     -->    maingui.py 3. 学生明细界面  --> ...

  7. python tkinter获取屏幕大小_使用Python构建属于自己的Markdown编辑器

    点击上方Linux公社,关注我们 正文Markdown编辑器大家应该都知道,很受程序员喜欢.许多人都在创建一个Markdown编辑器,有些很有创意,有些则很无聊.不过很多开发人员不希望使用Tkinte ...

  8. python可视化窗口打印信息,【python】Tkinter可视化窗口(一)

    因为想给自己的毕设要做个可视化,而不是简单地黑框框,就试着学了学Tkinter,发现上手起来是真的简单,在此,推荐给大家! Tkinter是什么 Tkinter是使用 python 进行窗口视窗设计的 ...

  9. python windows窗口置顶_想用Python编程却不知如何下手?一篇搞定编程准备工作

    导读:为了简化Python编程的学习难度,开发过程中的工具.环境尽量使用同一套,此后所有的编程环境都以Windows系统下Python3.8为准,代码编辑器及IDE(集成开发环境)使用VS Code. ...

  10. python命令窗口在哪里_详解如何在cmd命令窗口中搭建简单的python开发环境

    详解如何在cmd命令窗口中搭建简单的python开发环境 1.快捷键win+r输入cmd回车调出cmd界面,在命令行输入python回车,显示python命令无法识别 2.登陆python官网http ...

最新文章

  1. 动态卷积系列工作的基础:CondCov按需定制的卷积权重
  2. Google Chrome插件导出与安装
  3. 【手写系列】理解数据库连接池底层原理之手写实现
  4. Linux - XShell - alt 快捷键的设置
  5. Wince6.0编译错误经验总结
  6. 在storm中使用定时保存
  7. 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法...
  8. Unity资源打包之Assetbundle
  9. 关于web.xml配置中的url-pattern
  10. 双目估计方法_双目深度估计中的自监督学习概览
  11. matlab导弹追踪问题垂直逃逸,综合程序设计 导弹追踪问题 (matlab)
  12. 通用规范汉字表 一级字表(3500字)
  13. meshlab简单实践
  14. Pytorch中文视频教程,Pytorch实战视频教程
  15. PDF文件添加图片、文字合成(java)
  16. 基于seq2seq自动生成小说
  17. 韩顺平java学习day1
  18. 什么是1u服务器;服务器中的u是什么意思
  19. Android实现仿有道云笔记头像背景(模糊效果)
  20. 怎么用计算机画ns图,请各位大神帮个忙,画个NS流程图,,急!!!

热门文章

  1. MCP3421高精度ADC转换器
  2. TDA2030功放电路图
  3. mini聊天室(Linux下基于UDP实现的群聊系统)
  4. BoundsChecker使用说明(代码调试)
  5. Android Binder机制浅析
  6. aspen怎么做灵敏度分析_灵敏度分析aspen
  7. python脚本编程手册安卓版_python编程入门app下载
  8. 计算机及网络信息安全管理制度,计算机、网络管理及信息安全管理制度
  9. 传google将要退出中国市场
  10. 黑苹果日记三(驱动)