在 Ubuntu 上用 Python 锁定 PC

发布于 2024-08-04 00:24:14 字数 214 浏览 6 评论 0原文

我正在做使用 pyGtk 锁定 PC 的应用程序,但我有一个问题,当我单击“确定”按钮时,按钮的功能应该从文本框中获取时间,隐藏窗口然后休眠一段时间,最后使用 bash 命令锁定电脑。但它就是不隐藏。

这是完整程序

i'm doing application that locks the PC using pyGtk, but i have a problem, when i click on the ok button the function of the button should get the time from the textbox, hide the window then sleep for a while, and at last lock the pc using a bash command. but it just don't hide.

and here is the complete program

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Saygoodbye 2024-08-11 00:24:14

假设您在 Ubuntu 上使用 Gnome

import os

os.system('gnome-screensaver-command –-lock')

Provided you are using Gnome on Ubuntu

import os

os.system('gnome-screensaver-command –-lock')
她如夕阳 2024-08-11 00:24:14

主类成为线程有什么理由吗?我会把它变成一个普通的类,这样调试起来会容易得多。它不起作用的原因是所有与 gtk 相关的事情都必须在 gtk 线程中发生,所有小部件方法调用也是如此:gobject.idle_add(widget.method_name)。因此,要隐藏密码窗口: gobject.idle_add(self.pwdWindow.hide)

当然,您必须首先 import gobject (您可能需要先安装它) 。

编辑:我不认为这是你的问题,不管怎样,我对你的程序进行了很多编辑,这里是修改后的代码

Is there any reason for the main class to be a thread? I would make it just a normal class, which would be a lot easier to debug. The reason its not working is that all gtk related stuff must happen in the gtk thread, so do all widget method calls like this: gobject.idle_add(widget.method_name). So to hide the password window: gobject.idle_add(self.pwdWindow.hide)

You'll have to import gobject first of course (You might need to install it first).

EDIT: I don't think that that was your problem, either way I edited your program a lot, here is the modified code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文