首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python模块创建一个不能退出的窗口?

如何使用python模块创建一个不能退出的窗口?
EN

Stack Overflow用户
提问于 2022-04-11 03:01:13
回答 1查看 74关注 0票数 1

我试着做一个教室管理员,让老师在上课时能控制学生的设备。(在老师说话的时候,临时显示一个窗口来“锁定”学生的屏幕),我需要制作一个窗口,当老师按下一个按钮时,它会自动在全屏上打开。然而,做一个学生不能退出的窗口是我一直在胡说八道的。我可以尝试使用Ctr-Alt-del,但是用户可以使用Alt-F4Alt-F4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-11 10:39:50

好的,所以我找到了与我想要达到的目标相当的东西:在游戏中,只要不做任何事情就可以覆盖退出事件!所以替换

代码语言:javascript
复制
for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()

使用

代码语言:javascript
复制
for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pass

当退出发生时什么也不做。在PyQt中:

代码语言:javascript
复制
class MainWindow(QWidget): # or QMainWindow
    ...

    def closeEvent(self, event):
        # do stuff
        if can_exit:
            event.accept() # let the window close
        else:
            event.ignore()

在Tkinter的变化中:

代码语言:javascript
复制
import Tkinter as tk
import tkMessageBox as messagebox
root = tk.Tk()

def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()

至:

代码语言:javascript
复制
import Tkinter as tk
import tkMessageBox as messagebox
root = tk.Tk()

def on_closing():
    pass

root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()

我还可能忘记提到,目标受众管理设备的策略允许学生不允许使用任务管理器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71822267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档