如何将我的Python代码与GUI连接?
我写了一个把文字转换成语音的程序,想给它做个图形界面(GUI)。
我安装了wxpython,试着看了一些网上的例子,但我还是不太明白。
我基本上想要一个窗口,里面有一个文本框可以输入文字,还有一个按钮。点击这个按钮后,文本框里的内容应该被复制到一个文件里,然后运行app.py文件来给出结果。因为我对wxwidgets不太熟悉,所以觉得这很难。
我在找帮助,有人能告诉我怎么在wxpython里完成这个简单的任务吗?
我可以用VB来做这个,然后把我的Python代码连接上吗?
import wx
app=wx.App(redirect=False)
window=wx.Frame(None, title='sample gui app',pos=(100,100),size=(400,500))
hellobtn=wx.Button(window,label='hello',pos = (200, 200), size = (60,25))
byeBtn=wx.Button(window,label='bye',pos=(250,250),size=(60,25))
printArea=wx.TextCtrl(window,pos=(10,10),size=(400-120-15-10,25),style=wx.TE_MULTILINE)
window.Show()
app.MainLoop()
这是我写的代码,用来创建窗口、文本框和按钮。我想知道怎么给这个按钮添加事件,并连接到我的代码上。点击按钮时,我希望它能从命令提示符运行我的.py文件,不管在哪里都可以。
提前谢谢大家!
3 个回答
0
我想补充一下,关于Python的图形用户界面(GUI)编程,我最好的体验是使用Python和QT。我只能猜测,在Windows上的体验和在Linux上是一样好的。
0
如果你想用vb来创建图形用户界面,可以看看IronPython:它是一个在.net上运行的Python版本,这样你就可以用Python代码来使用整个.net的生态系统。
1
因为Ned Batchelder已经讲过你问题中的VB部分,我来简单说一下wxPython的做法。
简单来说,你需要导入你之前写的代码所在的模块,然后将按钮的点击事件“绑定”到一个调用你代码的函数上。
import myText2Speech
... code above ...
hellobtn.Bind(wx.EVT_BUTTON, self.OnButton)
def OnButton(self, event):
"""Prep whatever's needed, and call function txt2speech module."""
当然,最后的代码应该比这些更简洁,但这可以作为你开始的基础。