快速入门 Ubuntu:如何设置按钮来启动特定的 Ubuntu 应用程序

快速入门 Ubuntu:如何设置按钮来启动特定的 Ubuntu 应用程序

我对 Linux 还很陌生,了解的不多。我正在用 Quickly 创建自己的应用程序,我想有一个按钮来启动硬件信息应用程序“Hardinfo”。我是个新手,我真的什么都不知道,任何帮助都将不胜感激。提前致谢!

更新:我不是在寻找键盘快捷键,我指的按钮是 glade 内的 gtk 按钮。如何设置它,以便单击时它会将我带到应用程序“hardinfo”。如果这不可能,那么我如何设置按钮以在 glade 内单击后模拟键盘快捷键,谢谢!

更新 2:我正在寻找一个一步一步的、完全了解 glade 的人来告诉我如何做到这一点,因为我不知道代码是如何工作的,也不知道应该把它们放在哪里 :/

答案1

好的,我们来举一个清晰简洁的例子:

  1. quickly create ubuntu-application test
  2. cd test
  3. quickly design
  4. 使用 Glade 在某处添加一个按钮(默认情况下它被称为“button1”)
  5. 保存并关闭 Glade
  6. quickly edit然后转到 TestWindow.py
  7. 在文件顶部添加以下内容:

    from multiprocessing import Process
    import subprocess
    
  8. 将以下内容添加到文件末尾并确保其正确缩进(专业提示:在 Gedit 中选择文本块并按 Tab 键缩进整个块):

    def on_button1_clicked(self, widget, data=None):
        p = Process(target=self.launch_hardinfo)
        p.start()
    
    def launch_hardinfo(self):
        subprocess.call(["hardinfo"])
    

    这两个函数协同工作。 Process.start() 在新线程中调用 TestWindow.launch_hardinfo(即 Process 构造函数的 target= 参数),以便 subprocess.call() 不会阻塞应用程序。

  9. 保存 TestWindow.py

  10. quickly run并点击按钮。

我遇到了一个小问题,因为我试图在 Glade 中分配信号,但你甚至不需要这样做。Quickly 库实际上允许你执行 on_button1_click() 之类的操作,这意味着“当名为 button1 的控件被单击时”。就这么简单!希望这能让你入门。

也可以看看:快速创建 Ubuntu 应用程序

答案2

为此必须在虚拟机中启动 Ubuntu,我不使用 Unity ;)

您可以通过打开启动器(左上角的按钮)并转到“键盘”来设置自定义按键绑定。从那里,您可以转到“快捷方式”选项卡并创建自定义快捷方式。将其命名为您想要的任何名称,但请将命令改为“hardinfo”(不带引号)。完成后,单击刚刚添加的行右侧以设置您的按键。

答案3

你想要这样的东西。我无法在 Python 中做到这一点,只能在 Perl 中做到这一点,但在 Python 中看起来会很相似。

sub startapp {
    system "/usr/bin/name_of_application &";
}

$button = Gtk2::Button->new("Start application");
$button->signal_connect(clicked => \&startapp, $window);
$button->show;

相关内容