Python GUI按键图标触发Python程序的操作问题,guipython,我有一个Linux环境下


我有一个Linux环境下的已经用Python写好的暂且称之为XXX.py的文件。为了不用每次都在terminal里手动输入 $>python XXX.py,我用Tkinter做了一个非常简单的入门级的GUI:

from Tkinter import Tk, RIGHT, BOTH, RAISED

class Example(Frame):
def init(self, parent):
Frame.init(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Buttons")
self.style = Style()
self.style.theme_use("default")
frame = Frame(self, relief=RAISED, borderwidth=1)
frame.pack(fill=BOTH, expand=1)
self.pack(fill=BOTH, expand=1)
closeButton = Button(self, text="Close")
closeButton.pack(side=RIGHT, padx=5, pady=5)
okButton = Button(self, text="OK")
okButton.pack(side=RIGHT)

def win_main():
root = Tk()
root.geometry("300x200+300+300")
app = Example(root)
root.mainloop()

这个win_​main()运行起来的确生成了一个对话框,底部有两个按键图标:OK和Close.

但是问题是接下来该怎么把这段程序和我之前已经写好的XXX.py程序连接起来。我的想法是,只要user手动点击OK那个按键图标,那么自动运行$>python XXX.py。请问有人知道这个应该怎么写么?

如果Tkinter不能实现这个功能,那么还有其他的Linux下的Python GUI工具可以推荐么?

谢谢!

在你的XXX.py的最最头部第一行加上如下代码

bash#!/usr/bin/env python

然后运行

bashchmod +x XXX.py

这时候你的XXX.py已经成为可以直接运行的文件了,在你的文件管理器中双击也可以,直接命令行下面通过"./XXX.py"也可以运行,如果你需要自定义图标,那么自己建立一个Linux的桌面描述文件指向这个文件即可,详见 https://wiki.archlinux.org/index.php/Desktop_entries

用button下的command方法连接你的函数就好(BTW我没有仔细看你的代码)

编橙之家文章,

评论关闭