标签: wxpython

使用Python编写的wxWidget与C++相比要慢多少?

我正在研究编写一个显示图形节点网络的wxWidget,因此会进行大量的绘图操作.我知道使用Python来做它会变慢,但我宁愿让它工作并在以后的功能上移植它.理想情况下,如果性能影响不是很大,我宁愿将代码库保留在Python中以便于更新.

我想知道的是,我期待事情要慢多少?我意识到这是模糊和开放的结果,但我只需要了解期待什么.画出500个圆圈会陷入困境吗?会不会引人注意?你有什么经历?

c++ python performance drawing wxpython

6
推荐指数
1
解决办法
1108
查看次数

py2exe:由于DLL,编译的Python Windows应用程序将无法运行

我会承认我对Python很新,我真的不知道我在做什么.最近我使用Python 2.6.2和wxPython 2.8创建了一个非常小的Windows应用程序.而且效果很好; 我对它的正常工作表现非常满意.通常我的意思是当我直接通过Python解释器调用它时,如下所示:

> python myapp.py
Run Code Online (Sandbox Code Playgroud)

但是,我想更进一步,实际上将其编译成一个独立的可执行文件.所以我按照wxPython wiki中的这些指令使用了py2exe.起初它在命令行中给了我错误,说MSVCR90.dll丢失了.然后我将MSVCR90.dll复制到我的Python\DLLs文件夹中.这首先看起来像修复它,因为它成功地完成了它需要做的事情.它确实完成了一个快速警告,即程序依赖于某些DLL文件,我可能需要也可能不需要分发它们.

所以我导航到py2exe创建的dist文件夹并尝试运行我的可执行文件.但试图打开它只会弹出一个错误对话框,说:

This application failed to start because MSVCR90.dll was not found.
Re-installing the application may fix this problem.
Run Code Online (Sandbox Code Playgroud)

所以我继续将MSVCR90.dll再次复制到这个dist文件夹中.但那并没有成功.然后我将其复制到WINDOWS\system32目录中.那也没做到.我需要做些什么来使这个东西工作?

python wxpython py2exe

6
推荐指数
1
解决办法
6096
查看次数

是否可以在wxPython应用程序中使用Panda3D?

我正在开发一个wxPython应用程序.是否有可能将Panda3D控制的3D动画嵌入gui?

奖金问题:你认为Panda3D是最好的选择吗?(我的兴趣是物理模拟,不,我不需要支持物理的引擎,我的程序负责计算物理,我只需要一个引擎来展示它.)

python 3d wxpython

6
推荐指数
1
解决办法
1326
查看次数

有没有一种简单的方法可以捕获Python或wxPython中的所有Frame/Window击键

我试过EVT_KEY_DOWN但是没有用.有没有办法捕获任何击键,如F1,F2,ENTER和其他.我正在使用框架和面板.

python wxpython

6
推荐指数
1
解决办法
1156
查看次数

如何在Vertical BoxSizer中设置差距?

如何设置Vertical BoxSizer的差距?Vertival BoxSizer中的相似或替代方法SetVGap(在GridSizer中设置sizer中单元格之间的垂直间隙(以像素为单位))是什么?

python user-interface wxwidgets wxpython

6
推荐指数
3
解决办法
8896
查看次数

wxPython更改鼠标光标以通知长时间运行的操作

我正在构建一个在远程网站上搜索东西的Python程序.有时操作需要很多秒钟,我相信用户不会注意到状态栏消息"正在搜索操作".因此,我想更改鼠标光标以突出显示程序仍在等待结果.

这是我使用的方法:

def OnButtonSearchClick( self, event ):
        """
        If there is text in the search text, launch a SearchOperation.
        """
        searched_value = self.m_search_text.GetValue()

        if not searched_value:
            return

        # clean eventual previous results
        self.EnableButtons(False)
        self.CleanSearchResults()

        operations.SearchOperation(self.m_frame, searched_value)
Run Code Online (Sandbox Code Playgroud)

我尝试了两种不同的方法,都在最后一行之前:

  • wx.BeginBusyCursor()
  • self.m_frame.SetCursor(wx.StockCursor(wx.CURSOR_WAIT))

他们都没有工作.

我在GNU/Linux下使用KDE.这在Gnome下也不起作用

任何提示?谢谢

python wxpython mouse-cursor

6
推荐指数
1
解决办法
5272
查看次数

在Python 2.7中使用ffmpeg

我一直试图在Python 2.7中安装pyffmpeg失败.我发现了Python 2.6的一个包,但我无法让它工作.所以,我一直在考虑2.7.我在本网站上看过其他人的帖子,但他们没有帮助.有人对这个有经验么.最终,我想开发一个转换视频格式的wxPython应用程序.谢谢

我最终编写的代码对我有用(非常简陋,但它有效......):

import wx
import os
import sys
import time
import datetime
from wx.lib.delayedresult import startWorker



class dConvert(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, 'd-Converter', size=(500, 310))
        panel = wx.Panel(self, wx.ID_ANY)#Creates a panel over the widget
        toolbar = self.CreateToolBar()
        toolbar.Realize()

        #Setup Menu
        #Setting up Menu
        menuFile = wx.Menu()
        menuFile.Append(1, "&About...")
        menuFile.AppendSeparator()
        menuFile.Append(2, "E&xit")
        menuBar = wx.MenuBar()
        menuBar.Append(menuFile, "&File")

        panel.SetBackgroundColour('WHITE')

        menu2 = wx.Menu()
        menu2.Append(5, "&.mpg to dvd", ".mpg to dvd")
        menu2.AppendSeparator()
        menu2.Append(wx.NewId(), "&Options...", "Options...")
        menuBar.Append(menu2, "&DVD")


        menu3 = wx.Menu()
        menu3.Append(7, …
Run Code Online (Sandbox Code Playgroud)

wxpython ffmpeg

6
推荐指数
1
解决办法
3114
查看次数

如何使用wxPython中的AddSubclassFactory?

我无法在网上找到有关如何使用此方法的任何示例.我认为这可能是我将使用的东西.有人能为我提供一个如何使用这种方法的例子吗?

http://wxpython.org/docs/api/wx.xrc.XmlResource-class.html

python wxwidgets wxpython wxruby

6
推荐指数
1
解决办法
172
查看次数

无法成功启动boa-constructor

当我通过启动脚本"Boa.py"从命令行启动boa-constructor时,我收到消息"

D:\Python27\Lib\site-packages\boa-constructor>python Boa.py
Starting Boa Constructor v0.6.1
importing wxPython
reading user preferences
Traceback (most recent call last):
File "Boa.py", line 271, in <module>
import Preferences, Utils
File "D:\Python27\Lib\site-packages\boa-constructor\Preferences.py", line 151
in <module>
execfile(file)
File "C:\Users\madfrog\.boa-constructor\prefs.rc.py", line 26, in <module>
splitterStyle = wx.SP_LIVE_UPDATE | wx.SP_3DSASH | wx.NO_3D
AttributeError: 'module' object has no attribute 'NO_3D'
Run Code Online (Sandbox Code Playgroud)

我的python版本是2.7.4,我下载了wxPyton"32位Python 2.7".有人说它是因为wxPython版本无与伦比,但对我来说只有64位或32位,我不知道如何处理这个问题.也许我应该重新安装python,哪个版本是2.6?

谢谢你的帮助.

python wxpython python-2.7 boa-constructor

6
推荐指数
2
解决办法
3772
查看次数

使用ctrl-c和ctrl-v复制并粘贴到wxPython中的wx.Grid中

我正在开发一个带有许多输入表的程序,我正在使用wxPython wx.Grid(主要用于Windows).我注意到ctrl-c和ctrl-v复制和粘贴doe snot只是工作,我搜索解决方案,以防止必须手动输入表中的所有数字.我在这里找到了Ruben Charles的一篇旧帖子:http: //comments.gmane.org/gmane.comp.python.wxpython/26387

这似乎或多或少地做了我想要的,所以我开始使用它并做了一些,我希望是改进.(我使用ctrl-Z为'undo'添加了功能,用于处理单个单元格,如果最后一行或列落在网格表之外,则添加功能.)

有没有更好的方法来做到这一点,或者你可能有改进的建议?特别是:如何使用Python 3.5实现这一功能?

import wx
import wx.grid

class MyFrame(wx.Frame):
    def __init__(self, parent, ID, title, pos=wx.DefaultPosition, size=wx.Size(800, 400), style=wx.DEFAULT_FRAME_STYLE):
        wx.Frame.__init__(self, parent, ID, title, pos, size, style)
        agrid = MyGrid(self, -1, wx.WANTS_CHARS)
        agrid.CreateGrid(7, 7)
        for count in range(3):
            for count2 in range(3):
                agrid.SetCellValue(count, count2, str(count + count2))

class MyGrid(wx.grid.Grid):
    """ A Copy&Paste enabled grid class"""
    def __init__(self, parent, id, style):
        wx.grid.Grid.__init__(self, parent, id, wx.DefaultPosition, wx.DefaultSize, style)
        wx.EVT_KEY_DOWN(self, self.OnKey)
        self.data4undo = [0, 0, '']

    def OnKey(self, …
Run Code Online (Sandbox Code Playgroud)

python wxpython copy-paste

6
推荐指数
2
解决办法
3752
查看次数