为Python脚本创建GUI
我用一个叫做record.py的Python脚本来记录一些特定的事件。
这个命令的工作方式是:
python record.py <scriptname>
它会把脚本保存在本地磁盘上。之后,你可以通过简单地输入以下命令来重放录制的脚本:
python scriptname.py
以上所有这些操作(描述的内容都能正常工作)都是通过命令行(Linux终端)完成的。
我想做一个图形界面(GUI),里面有两个标签页(录制和播放):
录制标签:里面有一个文本框(用于输入
<scriptname>
)和一个叫做“录制”的按钮(这个按钮连接到record.py
脚本)播放标签:有一个功能可以显示所有已录制的脚本,还有一个叫做“播放”的按钮,可以用来运行单个脚本或一组脚本。
2 个回答
3
你可以看看这个网站 http://www.wxpython.org/,可能会对你有帮助。
4
丹尼尔,
我也建议你使用wxPython。
如果你决定使用wxPython,这里有个大致的步骤,告诉你怎么让标签页工作。虽然需要你自己填一些细节,但一旦你掌握了wxPython的基本知识,这会教你怎么用标签页构建一个“笔记本”。
基本上,你需要有一个主脚本(下面的代码示例就是这个主脚本的轮廓),然后每个面板作为一个单独的文件(在这个例子中有:panel1.py、panel2.py、panel3.py等等)。主脚本会通过wxPython来运行这些单独的面板。
处理整个窗口的主脚本大概是这样的:
from wxPython.wx import *
class MainFrame(wxFrame):
.
.
.
def __init__(self, parent, id, title):
.
.
.
# Create the Notebook
self.nb = wxNotebook(self, -1, wxPoint(0,0), wxSize(0,0), wxNB_FIXEDWIDTH)
# Make PANEL_1 (filename: panel1.py)
self.module = __import__("panel1", globals())
self.window = self.module.runPanel(self, self.nb)
if self.window:
self.nb.AddPage(self.window, "PANEL_1")
# Make PANEL_2 (filename: panel2.py)
self.module = __import__("panel2", globals())
self.window = self.module.runPanel(self, self.nb)
if self.window:
self.nb.AddPage(self.window, "PANEL_2")
# Make PANEL_3 (filename: panel3.py)
self.module = __import__("panel3", globals())
self.window = self.module.runPanel(self, self.nb)
if self.window:
self.nb.AddPage(self.window, "PANEL_3")
.
.
.
但我必须强调……不要急着尝试标签页,先理解wxPython的工作原理。