关于pygame和tkinter窗口的那件事

您所在的位置:网站首页 tkinter与pyqt5能一起用吗 关于pygame和tkinter窗口的那件事

关于pygame和tkinter窗口的那件事

2024-07-10 21:40:25| 来源: 网络整理| 查看: 265

pygame与tkinter关于窗口的问题

pygame和tkinter实际上都是一个可视化界面,在第一层父窗口上几乎没有区别,tkinter使用Tk()+mainloop()+按键对象+放置 而pygame使用set_mode+update+按键对象+按键对象属性设置(一般是位置),但是关于使用子窗口是有明显区别的。 tkinter创建子窗口时如果只是显示,不对窗口操作(点击按钮,输入等),则直接使用Tk()创建窗口即可。如一些数据展示窗口。但是如果需要对子窗口进行操作eg:数据写入,按钮+响应等等,就需要使用到顶层子窗口Toplevel()。

从线程角度说明他们的不同点

tkinter使用单线程,如果只是开启窗口显示,不涉及对主线程的内容修改,则可以开启多个这样的子窗口(严格上说这不是真正意义的子窗口,因为与主窗口没有进行数据关联,因为是各干各的只是借助主窗口的函数调用创建该窗口,算是一个额外的线程)。但是如果需要子窗口对主线程中的数据(也可能是我们导入的数据)进行修改,就需要用到Toplevel(相当于一个额外的线程+主线程中的内部类),它可以修改主线程中的内部数据,传递参数等等。 概括:使用tkinter做图形窗口时,如果窗口涉及操作直接使用toplevel()。其他只需可视化的情况使用Tk()直接创建新窗口也是可行的。 实例说明: 在做一个计算器的扩展功能-贷款计算时,遇到了这个问题。 问题描述: 在贷款计算之前,添加了一个纯展示的子窗口(tk实现)功能,打开后父窗口可以正常运行。然后使用了同样的方法做了贷款窗口,因为过程中涉及到了窗口的输入,对主线程中的数据进行了修改,虽然父窗口正常运行)但是子窗口报错了。 解决: 将贷款的实现窗口修改为tk.toplevel()

pygame也是单线程的,但是其没有类似tkinter中的toplevel,不能创建同时运行的两个窗口。创建子窗口(如:tkinter窗口)时pygame会暂停了父窗口任务,将资源给了给刚创建的子窗口,在子窗口返还资源之前(关闭之前),父窗口会一直处于未响应状态(等待返还主线程的资源)。 实例说明: 在做拼图游戏的原图显示功能时,发现了该问题。当显示原图(子窗口)时,主窗口处于未响应状态,关闭子窗口后,主窗口正常响应。 建议: 尽量不要使用在pygame上建立多个窗口,因为他只能同时运行单个线程,创建很多的窗口也只能实现窗口并发操作,不能实现并行



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭