标签: wxpython

在pydev中使用wxPython时导入的未定义变量

我刚下载了wxPython,并从这里运行了一些示例程序.但是,在使用wx.*变量的每一行上,我得到一个"导入错误的未定义变量"

例如,以下程序在第1,4,8行产生五个错误,在第5行产生两个错误:

import wx
class MyFrame(wx.Frame):
    """ We simply derive a new class of Frame. """
    def __init__(self, parent, title):
        wx.Frame.__init__(self, parent, title=title, size=(200,100))
        self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)
        self.Show(True)
app = wx.App(False)
frame = MyFrame(None, 'Small editor')
app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

然而,该程序编译和运行完美.我没有对pydev或eclipse做过任何重大修改,而且wxPython安装很新鲜.

python eclipse wxpython pydev

17
推荐指数
3
解决办法
2万
查看次数

Pygame在图形方面可以做什么wxPython不能?

我想用Python开发一个非常简单的2D游戏.Pygame是Python中最受欢迎的游戏开发库,但我已经非常熟悉wxPython并且使用起来很舒服.我甚至在其中写了一个俄罗斯方块克隆,它非常流畅.

我想知道,Pygame在图形方面提供了什么(暂时放弃声音)wxPython不能做什么?在Pygame中制作图形比在wxPython中更简单/更快吗?它是否更加跨平台?

看起来我在这里遗漏了一些东西,但我不知道是什么.

python graphics pygame wxpython

16
推荐指数
2
解决办法
5747
查看次数

动态更改wx.ComboBox()中的选项

我没有找到更好的方法来改变wx.ComboBox()中的不同选择,而不是将旧的ComboBox与新的交换.有没有更好的办法?

Oerjan Pettersen

#!/usr/bin/python

#20_combobox.py

import wx
import wx.lib.inspection

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self, *args, **kwargs)

        self.p1 = wx.Panel(self)
        lst = ['1','2','3']
        self.st = wx.ComboBox(self.p1, -1, choices = lst, style=wx.TE_PROCESS_ENTER)

        self.st.Bind(wx.EVT_COMBOBOX, self.text_return)


    def text_return(self, event):
        lst = ['3','4']
        self.st = wx.ComboBox(self.p1, -1, choices = lst, style=wx.TE_PROCESS_ENTER)


class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, '20_combobox.py')
        frame.Show()
        self.SetTopWindow(frame)
        return 1

if __name__ == "__main__":
    app = MyApp(0)
#    wx.lib.inspection.InspectionTool().Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

python wxwidgets wxpython

16
推荐指数
1
解决办法
2万
查看次数

在wxPython中,如何将EVT_KEY_DOWN事件绑定到整个窗口?

我可以将事件绑定到textctrl框np.问题是我必须在textctrl框内单击以"捕获"此事件.我希望能够在主窗口具有焦点时随时按下箭头键.

不工作:

 wx.EVT_KEY_DOWN(self, self.OnKeyDown)
Run Code Online (Sandbox Code Playgroud)

工作方式:

self.NudgeTxt = wx.TextCtrl(self.panel, size=(40,20), value=str(5))
wx.EVT_KEY_DOWN(self.NudgeTxt, self.OnKeyDown)
Run Code Online (Sandbox Code Playgroud)

我很确定我错过了一些简单的事情.但是我有点卡住了.

python user-interface wxpython

16
推荐指数
1
解决办法
8817
查看次数

Python 3.3中的现代GUI编程

我正在整理一些程序,现在是开始为其中一些程序制作GUI的时候了.该代码目前是用Python 3.3编写的.

我研究了一些Python的GUI,即Tkinter,wxPython和PyGTK.我发现的一切似乎只是创建看起来相当陈旧的GUI.我已经创建了几个示例GUI,它们都可以工作,它们看起来非常像Windows 95.

我发现/创建的一个例子: http://python.6.x6.nabble.com/file/n4545517/MLDataAnalyzer5.png

我想要的一个例子是: http://images.six.betanews.com/screenshots/1237236321-1.jpg

它只是一个关于GUI如何工作的高级知识,还是只有更适合"现代"外观GUI的GUI模块?

如果它是关于GUI如何工作的高级知识,是否有一些关于如何使GUI看起来更"现代"的教程.

提前致谢.

user-interface pygtk wxpython tkinter python-3.3

16
推荐指数
1
解决办法
3万
查看次数

从matplotlib图中检索XY数据

我在wxPython中编写了一个小应用程序,它有一个matplotlib图(使用wxagg后端)面板.我想为用户添加将当前在图中绘制的X,Y数据导出到文本文件的能力.有没有非侵入性的方法来做到这一点?我搜索了很多,似乎找不到任何东西,虽然我觉得它非常简单,就在我面前.

我可以肯定地获取数据并将其存储在绘制时的某个位置,并使用它 - 但这将是相当侵入性的,进入我的代码的较低级别.如果我能做一些像以下那样简单的事情,那将会更容易,更普遍:

x = FigurePanel.axes.GetXData()
y = FigurePanel.axes.GetYData()
Run Code Online (Sandbox Code Playgroud)

希望这有点意义:)

非常感谢!任何帮助是极大的赞赏!

编辑:澄清,我想知道怎么做是获取X,Y数据.之后写入文本文件是微不足道的;)

python wxpython matplotlib

16
推荐指数
1
解决办法
3万
查看次数

matplotlib:如何刷新figure.canvas

我无法理解如何刷新FigureCanvasWxAgg实例.这是一个例子:


import wx
import matplotlib
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.figure import Figure

class MainFrame(wx.Frame): 
    def __init__(self): 
        wx.Frame.__init__(self, None, wx.NewId(), "Main") 
        self.sizer = wx.BoxSizer(wx.VERTICAL)

        self.figure = Figure(figsize=(1,2))
        self.axe = self.figure.add_subplot(111)
        self.figurecanvas = FigureCanvas(self, -1, self.figure)

        self.buttonPlot = wx.Button(self, wx.NewId(), "Plot")
        self.buttonClear = wx.Button(self, wx.NewId(), "Clear")

        self.sizer.Add(self.figurecanvas, proportion=1, border=5, flag=wx.ALL | wx.EXPAND)
        self.sizer.Add(self.buttonPlot, proportion=0, border=2, flag=wx.ALL)
        self.sizer.Add(self.buttonClear, proportion=0, border=2, flag=wx.ALL)
        self.SetSizer(self.sizer)

        self.figurecanvas.Bind(wx.EVT_LEFT_DCLICK, self.on_dclick)
        self.buttonPlot.Bind(wx.EVT_BUTTON, self.on_button_plot)
        self.buttonClear.Bind(wx.EVT_BUTTON, self.on_button_clear)

        self.subframe_opened = False

    def on_dclick(self, evt):
        self.subframe = SubFrame(self, self.figure)
        self.subframe.Show(True)
        self.subframe_opened …
Run Code Online (Sandbox Code Playgroud)

python wxpython matplotlib

15
推荐指数
1
解决办法
2万
查看次数

wxPython WebView示例

我正在使用wxPython(wxAUI)编写一个小型报告应用程序.我想将我的数据呈现为HTML,以便在WebView'小部件'中显示.我正在寻找一个样本'hello world'代码片段,它将展示如何在WebView小部件中显示/呈现HTML字符串 - 但是无法找到一个示例 - 并且WebView小部件似乎没有很好地记录.

有人可以提供这样一个例子的链接或(更好的是),在这里发布一个简短的片段,显示如何使用WebView小部件呈现HTML字符串?

# sample html string to display in WebView widget
html_string = """
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
       <title>Hello World!</title>
       <script type="text/javascript" src="jquery.js"></script>
       <style type="text/css" src="main.css"></style>
    </head>
    <body>
        <span id="foo">The quick brown fox jumped over the lazy dog</span>
        <script type="text/javascript">
        $(document.ready(function(){
           $("span#foo").click(function(){ alert('I was clicked!'); });
         });
        </script>
    </body>
</html>
"""
Run Code Online (Sandbox Code Playgroud)

python wxpython webview

15
推荐指数
2
解决办法
2万
查看次数

如何在用户单击框架关闭时终止WxPython应用程序

当我单击主框架的关闭按钮时,应用程序应该关闭.但是我实现它的方式,Segmentation fault当我点击按钮时,它会退出.

我担心安全关闭程序,因为我需要稍后将内容保存到磁盘.

通过关闭按钮终止WxPython应用程序的正确非暴力方法是什么?


这是我实现的程序的"主要"循环:

if __name__ == "__main__":
    app = wx.App(False)
    mf = MainFrame(None, title='Spectrum Checker') #subclasses frame
    mf.register_close_callback( app.Destroy) #what is the apt func?
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

以下是如何在以下内容中实现回调MainFrame:

def __init__(self, parent, title):
    ...
    self.Bind(wx.EVT_CLOSE, self._when_closed)

...

def _when_closed(self, event):
if self.__close_callback__:
    self.__close_callback__()
Run Code Online (Sandbox Code Playgroud)

python wxpython

15
推荐指数
2
解决办法
3万
查看次数

将Pygame窗口嵌入到Tkinter或WxPython框架中

我和朋友正在玩游戏.我们希望将一个pygame窗口嵌入到tkinter或WxPython框架中,以便我们可以包含WX或Tkinter支持的文本输入,按钮和下拉菜单.我已经在互联网上搜索了答案,但我发现所有人都在问同样的问题,这些都没有得到很好的回答.

实现嵌入到tkinter或WX帧中的pygame显示的最佳方法是什么?(TKinter更好)

将这些功能与pygame显示一起包含的任何其他方式也可以.

python embed pygame wxpython tkinter

15
推荐指数
1
解决办法
2万
查看次数