为Python脚本创建GUI

时间:2011-04-28 17:59:52

标签: python user-interface

我使用python脚本record.py来记录某些事件。

该命令以这种方式工作:

python record.py <scriptname>

它将脚本存储在本地磁盘中。稍后您可以通过简单地说:

重播录制的脚本
python scriptname.py

所有这些操作(如上所述都能正常工作),但是通过命令行(linux终端)完成。

我想制作一个带有两个标签的GUI(记录,播放):

  1. 录制标签:有一个文本框(用于<scriptname>)和一个名为record的按钮(与record.py脚本链接)

  2. 播放标签:具有包含所有录制脚本的功能和名为play的按钮,可以运行单个脚本或整个脚本。

2 个答案:

答案 0 :(得分:4)

丹尼尔,

我也建议使用wxPython。

如果您决定使用wxPython,这里有一个关于如何使标签工作的大致轮廓。它需要你填写一些空白,但是一旦你掌握了wxPython的基础知识,这将向你展示如何用标签构建一个“Notebook”。

你基本上做的是拥有一个主脚本(其代码如下所示在代码示例中表示),然后将每个面板表示为一个单独的文件(在这个例子中有: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如何先工作的原则。

答案 1 :(得分:3)

http://www.wxpython.org/可能会有所帮助。