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

在带有pygame的tkinter中弹出窗口,除非关闭/按下ok,否则不会消失

在带有pygame的tkinter中弹出窗口,除非关闭/按下ok,否则不会消失。

在使用带有pygame的tkinter创建弹出窗口时,可以通过以下步骤实现窗口的关闭或按下OK按钮后才消失:

  1. 导入所需的模块:
代码语言:txt
复制
import tkinter as tk
import pygame
  1. 创建主窗口和pygame窗口:
代码语言:txt
复制
root = tk.Tk()
pygame.init()
pygame.display.set_mode((800, 600))
  1. 创建弹出窗口函数:
代码语言:txt
复制
def popup_window():
    popup = tk.Toplevel(root)
    popup.title("弹出窗口")
    popup.geometry("300x200")
    
    # 添加窗口内容和按钮
    label = tk.Label(popup, text="这是一个弹出窗口")
    label.pack(pady=10)
    
    ok_button = tk.Button(popup, text="OK", command=popup.destroy)
    ok_button.pack(pady=10)
  1. 创建按钮来触发弹出窗口:
代码语言:txt
复制
popup_button = tk.Button(root, text="弹出窗口", command=popup_window)
popup_button.pack(pady=10)
  1. 运行主循环:
代码语言:txt
复制
root.mainloop()

在这个例子中,我们使用了pygame来创建一个空的窗口,然后使用tkinter创建了一个主窗口和一个弹出窗口。当点击"弹出窗口"按钮时,会调用popup_window函数创建一个弹出窗口,并在窗口中添加一个标签和一个"OK"按钮。当点击"OK"按钮时,调用popup.destroy方法关闭弹出窗口。

这样,除非关闭弹出窗口或按下"OK"按钮,否则弹出窗口将一直保持显示状态。

请注意,以上答案中没有提及任何特定的云计算品牌商或产品,如有需要,可以根据具体情况选择适合的云计算解决方案。

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

相关·内容

7个惊艳众人 Python 实用项目!【附源码】

+ num # 将数字写到面板 self.result.set(newnum) # 运算函数 def presscalculate...(num) # 保存操作符号 self.lists.append(sign) # 设置运算符号为状态 self.ispresssign...tkinter Python 3.x 默认集成,不需要额外安装操作;不足之处为缺少合适可视化界面设计工具,需要通过代码来完成窗口设计和元素布局。...游戏简介 2048 是一款比较流行数字游戏。游戏规则:每次可按上、、左、右方向键滑动数字,每滑动一次,所有数字都会往滑动方向靠拢,同时空白位置随机出现一个数字,相同数字靠拢时会相加。...案例介绍 俄罗斯方块是由 4 个小方块组成不同形状板块,随机从屏幕上方落下,方向键调整板块位置和方向,底部拼出完整一行或几行。这些完整横条会消失,给新落下来板块腾出空间,并获得分数奖励。

2.1K30

7个学妹看见都惊呆 Python 小项目!【附源码】

+ num # 将数字写到面板 self.result.set(newnum) # 运算函数 def presscalculate...(num) # 保存操作符号 self.lists.append(sign) # 设置运算符号为状态 self.ispresssign...tkinter Python 3.x 默认集成,不需要额外安装操作;不足之处为缺少合适可视化界面设计工具,需要通过代码来完成窗口设计和元素布局。...游戏简介 2048 是一款比较流行数字游戏。游戏规则:每次可按上、、左、右方向键滑动数字,每滑动一次,所有数字都会往滑动方向靠拢,同时空白位置随机出现一个数字,相同数字靠拢时会相加。...案例介绍 俄罗斯方块是由 4 个小方块组成不同形状板块,随机从屏幕上方落下,方向键调整板块位置和方向,底部拼出完整一行或几行。这些完整横条会消失,给新落下来板块腾出空间,并获得分数奖励。

1.4K30
  • 用Python写软件原来这么简单,一个极易入门GUI框架

    PySimpleGUI窗口布局是按照列表顺序从上往下依次排列,二级列表,从左往右依此排列。...event:事件,它可能是一个按钮、单击了某些文本、列表项选择等,如果用户直接关闭窗口,则为None。...两种窗口类型 一次性窗口(one-shot window) 它是一个弹出窗口,它会收集一些数据,或者提示数据,然后将其关闭。...点击ok后,窗口自动关闭。 ? 持久窗口(Persistent window) 它是一个持久存在窗口。收集输入值,但不关闭窗口,而是保持可见状态,这是向用户输出信息和收集输入数据一种方式。...GUI程序,可以文档复制需要实例,调试修改成自己需要最终界面,研究它们设计模式和逻辑,慢慢你也能写出那些高大上软件了。

    2.7K30

    tkinter系列 第十课 TopLevel窗口部件 】

    前言 python通常我们写程序,显示结果和操作都是终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?...本节课将要学习TopLevel窗口部件,TopLevel是最高级意思,Toplevel 组件通常用在显示额外窗口、对话框或者其他弹出窗口上。...看下面这个例子,当我们点击菜单栏字体菜单时,会弹出一个新窗口,这个就是TopLevel。 ? ?...if answer: # 如果点击确定,会返回一个True值,否则False root.destroy()# 销毁主窗口 # 如果直接点击右上角关闭按钮,会直接关闭,通过这个方法,可以直接绑定...总结: 1.withdraw() 隐藏窗口,iconify()也是隐藏窗口,但是其实是最小化,任务栏还是可以点击打开,withdraw()是会消失

    3.5K20

    python实现音乐播放和下载小程序功能

    用text控件insert(插入文本)、see(滚动)、update(更新)等方法显示正在下载和已下载图样;get_music_name函数,首先从输入窗口获取名称,然后调用Edge驱动访问网易云音乐主页...在这之前,驱动就完成了任务,所以可以关闭驱动。 至于Tkinter控件内容,应该根据实际情况试错和设计,界面编程相对还是比较简单。...(分别创建标签控件、输入框、列表框、按钮,并依次确定它们主界面位置) from tkinter import * from selenium import webdriver global entry...简易音乐播放器: 这个控件界面上仍然使用Tkinter,只不过没有通过编程,而是利用pygame音频模块,逻辑上增加了上一曲、下一曲(读取上一个文件、下一个文件)、音量控制、简单线程控制等...)) #关闭窗口 root.protocol('WM_DELETE_WINDOW',closeWindow) #添加按钮 buttonChoose = tkinter.Button(root,text=

    1.9K20

    PyGame:Python 游戏编程入门-1

    稍后您将看到如何将图像加载到 a Surface并将其显示屏幕上。 pygame,所有内容都在单个用户创建 查看display,可以是窗口或全屏。...这是您可以控制窗口部分,而操作系统控制窗口边框和标题栏。 如果你现在运行这个程序,那么你会看到一个窗口短暂地弹出,然后程序退出时立即消失。不要眨眼,否则您可能会错过!...帧继续出现,直到满足退出游戏某些条件。设计,有两个条件可以结束游戏循环: 玩家与障碍物相撞。(稍后您将介绍碰撞检测。) 播放器关闭窗口。...当您将这些行添加到前面的代码并运行它时,您会看到一个带有空白或黑屏窗口该键之前,该窗口不会消失Esc,或者QUIT通过关闭窗口来触发事件。...这将根据键定义精灵行为。

    2.1K40

    Python使用tkinter打造自定义对话框完整代码

    问题来源:前一阵发过一个技术文章Python编写抽奖式随机提问程序,其中有个弹出式对话框,好像上海科技大学宋老师群里当时问了一句对话框中奖姓名是否能显示大一些,如图: 当时记得标准tkinter...参考代码注释和最后运行结果,应该可以理解其中思路,如有不明白或有疑问地方,欢迎留言交流。...300x100+400+300') root.resizable(False,False) class MyPopup: def __init__(self, title, message): # 弹出窗口中信息内容宽度和高度...g = str(self.width+60)+'x'+str(self.height+80)+'+500+300' self.top.geometry(g) # 鼠标左键...btnPopup['state'] = 'disabled' w = MyPopup('恭喜', '测试成功\n哈哈嘿嘿呼呼') btnPopup.wait_window(w.top) # 避免弹出窗口尚未关闭关闭窗口时引发错误

    3K40

    用 Python 制作飞机大战小游戏

    # 将完整显示Surface更新到屏幕 pygame.display.flip() check_events函数用来完成窗口不会关闭功能,update_screen用来完成更新图像功能...# 小飞机往又移动 plane.rect.centerx += 1 现在按一小飞机移动一个像素,一般游戏都是通过下不送则一直移动,Pygamepygame.KEYUP...07 调整速度 现在小飞机一次是1px来移动,那速度是相当缓慢,修改一小飞机移动速度。...() 用户空格之后会创建一个子弹(一个名为new_bulletBullet实例),并使用add追加到编组 方法bullets.sprites返回一个列表,包含了编组所有精灵,遍历编组精灵...删除已经消失子弹 这里通过.copy进行浅拷贝,然后检测子弹是否消失,然后再将其删除 对plane_war.pywhile语句中添加下面这一句。

    4.3K20

    手把手教你使用Pygame制作飞机大战小游戏,4万字超详细讲解!

    () check_events函数用来完成窗口不会关闭功能,update_screen用来完成更新图像功能,有3个形参,Surface对象、背景图像、小飞机函数 因为check_events完成了退出游戏操作...现在将check_events函数改写,通过检测下键位,来对小飞机进行移动 def check_events(plane): # 为了防止游戏窗口启动会立马关闭,在其中增加一个游戏循环(无限循环...# 小飞机往又移动 plane.rect.centerx += 1 现在按一小飞机移动一个像素,一般游戏都是通过下不送则一直移动,Pygamepygame.KEYUP...调整速度 现在小飞机一次是1px来移动,那速度是相当缓慢,修改一小飞机移动速度 首先在setting.py添加一行 self.plane_speed = 2.5 现在对plane.py做修改...() 用户空格之后会创建一个子弹(一个名为new_bulletBullet实例),并使用add追加到编组 方法bullets.sprites返回一个列表,包含了编组所有精灵,遍历编组精灵

    6K10

    Python游戏工具包---Pygame最常用15个模块详解(附pdf版本)

    pygame.display.get_wm_info() — 获取关于当前窗口系统信息 pygame.display.list_modes() — 获取全屏模式可使用分辨率 pygame.display.mode_ok... Pygame 例子目录,有一个演示代码(prevent_display_stretching.py)展示如何在微软系统(Vista 以上系统)关闭 Pygame 显示自动拉伸属性。...KEYDOWN 或 KEYUP 事件时,key 属性描述具体哪个按键被,该值是以 K_ 开头常量(MOD_ 开头常量表示各种组合键被), key 模块文档可以找到;最后,TIME_RESOLUTION...一般情况此方法用于窗口模式。全屏模式,该方法总会返回 True。 注意: MS Windows 系统,一个窗口可以同时对鼠标和键盘事件保持监听。...当 python 解释器关闭时,这个方法将被无条件地调用,所以你程序并不需要调用这个方法,除非你想要终止 pygame 资源,并继续执行其他功能。多次执行这个方法也是没有问题

    16.2K55

    手把手教你使用Pygame制作飞机大战小游戏,4万字超详细讲解!

    # 将完整显示Surface更新到屏幕 pygame.display.flip() check_events函数用来完成窗口不会关闭功能,update_screen用来完成更新图像功能...现在将check_events函数改写,通过检测下键位,来对小飞机进行移动 def check_events(plane): # 为了防止游戏窗口启动会立马关闭,在其中增加一个游戏循环(无限循环...# 小飞机往又移动 plane.rect.centerx += 1 现在按一小飞机移动一个像素,一般游戏都是通过下不送则一直移动,Pygamepygame.KEYUP...调整速度 现在小飞机一次是1px来移动,那速度是相当缓慢,修改一小飞机移动速度 首先在setting.py添加一行 self.plane_speed = 2.5 现在对plane.py...() 用户空格之后会创建一个子弹(一个名为new_bulletBullet实例),并使用add追加到编组 方法bullets.sprites返回一个列表,包含了编组所有精灵,遍历编组精灵

    11.9K30

    Python高阶项目(转发请告知)

    复制IP地址,因为我们需要在Python代码中使用它来打开手机摄像头。 代码 稍后,将显示一个OpenCV窗口,然后执行其余操作。要关闭窗口,只需按任意键。...要使用Python创建音乐播放器,我们将使用Pygame声音组件。 Tkinter是用于创建GUI应用程序库。...在这种情况,Kivy运行效果最佳,因为它不依赖笨拙浏览器,并且其许多组件都使用Cython库C实现,因此大多数图形处理都直接在GPU运行。...除了Tkinter,我们还需要在Python库PIL它代表Python图像库。代码如下: ? 正如您可以看到输出窗口,它会工作一样安装在您系统所有其他应用程序。...•其次,我们运行一个而循环以继续执行解码功能,直到“ Esc”键。否则,循环将不会停止并导致问题。•第三,我们启动第一步打开相机。然后关闭应用程序窗口

    4.3K10

    关于“Python”核心知识点整理大全33

    12.8.3 将子弹存储到编组 定义Bullet类和必要设置后,就可以编写代码了,玩家每次空格键时都射出一发子弹。...可在settings.py修改子弹尺寸、颜色和 速度。 12.8.5 删除已消失子弹 当前,子弹抵达屏幕顶端后消失,这仅仅是因为Pygame无法屏幕外面绘制它们。...这些子 弹实际上依然存在,它们y坐标为负数,且越来越小。这是个问题,因为它们将继续消耗内存 和处理能力。 我们需要将这些已消失子弹删除,否则游戏所做无谓工作将越来越多,进而变得越来越 慢。...12.8.6 限制子弹数量 很多射击游戏都对可同时出现在屏幕上子弹数量进行限制,以鼓励玩家有目标地射击。游戏《外星人入侵》作这样限制。...如果len(bullets)小于3,我们就创建一个新子 弹;但如果已有3颗未消失子弹,则玩家空格键时什么都不会发生。如果你现在运行这个游 戏,屏幕上最多只能有3颗子弹。

    13610

    2018年8月10日对飞机大战思考和将python源文件打包成exe可执行文件

    添加四个不同方向枪口坦克图片,方向键切换不同图片 pygamekill()命令真正意义是不再渲染,精灵组里面就是把这个精灵清除,不会再检测到碰撞,而不会真正杀死那个变量,那个变量还是存在...开始设置一个标签,可以设为False,游戏窗口上 添加一个暂停按钮,当点击之后False变成true,场景内所有精灵速度都设为0,音乐关闭pause,再点击一 暂停键,重新所有速度speed...直接让英雄飞机消失,然后让游戏结束 字体出现并渲染在游戏界面上速度设为0....pygame自定义事件无论多少都是写USEREVENT +1 锻炼口才 python设置静态方法优势是可以不用创建对象前提下,直接类名.方法名直接使用,文件所有对象 都可以直接调用....rect.x -= 5 #监听窗口所有事件用pygame.event.get(),如果需要鼠标操作就需要要判断鼠标是否下了 for event in pygame.event.get():

    1.6K30

    如何在Python 3安装pygame并创建用于开发游戏模板

    首先,键入python启动控制台命令: python 然后控制台中导入模块: import pygame 如果按照命令ENTER键后没有收到任何错误,您将知道pygame已成功安装。...我们将使用pygame.display.set_mode()来初始化窗口或屏幕进行显示并将其传递给变量。函数,我们将传递显示分辨率参数,该参数是一对表示元组宽度和高度数字。...,让我们运行程序: python our_game.py 当我们运行该文件时,将弹出一个800x600窗口。...此输出显示正在发生用户事件。这些事件将控制游戏,因为它们是由用户生成。无论何时运行pygame.event.get()函数,您代码都将参与这些事件。 终端窗口CTRL+ C停止程序运行。...由于用户控制游戏功能和事件,我们还应该知道,当用户通过单击游戏窗口上角“X”来请求关闭程序时,pygame.QUIT 会将其发送到事件队列。

    22.6K21

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

    将其置于主循环中,除非用户关闭否则程序始终处于运行状态。 执行该程序,一个窗体就呈现出来了。 在这个主循环根窗体,可持续呈现其他可视化控件实例,监测事件发生并执行相应处理程序。...如下例子: 利用复选框实现,单击OK,可以将选中结果显示标签上。...通常需要右击弹出控件实例绑定鼠标右击响应事件,并指向一个捕获event参数自定义函数,该自定义函数,将鼠标的触发位置event.x_root 和 event.y_root以post...6.10、模式对话框(Modal): 是相对于前面介绍非模式窗体而言,所弹出对话框必须应答,关闭之前无法操作其后面的其他窗体。...其通式为: 消息对话框函数(,,[其他参数]) 看下面的例子:单击按钮,弹出确认取消对话框,并将用户回答显示标签

    14.2K30
    领券