我正在研究编写一个显示图形节点网络的wxWidget,因此会进行大量的绘图操作.我知道使用Python来做它会变慢,但我宁愿让它工作并在以后的功能上移植它.理想情况下,如果性能影响不是很大,我宁愿将代码库保留在Python中以便于更新.
我想知道的是,我期待事情要慢多少?我意识到这是模糊和开放的结果,但我只需要了解期待什么.画出500个圆圈会陷入困境吗?会不会引人注意?你有什么经历?
我会承认我对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目录中.那也没做到.我需要做些什么来使这个东西工作?
我正在开发一个wxPython应用程序.是否有可能将Panda3D控制的3D动画嵌入gui?
奖金问题:你认为Panda3D是最好的选择吗?(我的兴趣是物理模拟,不,我不需要支持物理的引擎,我的程序负责计算物理,我只需要一个引擎来展示它.)
我正在构建一个在远程网站上搜索东西的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)
我尝试了两种不同的方法,都在最后一行之前:
他们都没有工作.
我在GNU/Linux下使用KDE.这在Gnome下也不起作用
任何提示?谢谢
我设计了一个Windows工具软件的Windows 7中编码的Python与wxPython的用于GUI works.I不用想,如果它已经打开了,打开我的软件.我希望这样的功能,如果用户打开该软件,将在Windows屏幕上显示一个消息框,显示"您的应用程序已在运行".
Plz的帮助.提前致谢...
我正在使用此代码,当我点击底图Matplotlib图中的一个点时,会在地图上弹出注释.
dcc = DataCursor(self.figure.gca())
self.figure.canvas.mpl_connect('pick_event',dcc)
plot_handle.set_picker(5)
self.figure.canvas.draw()
class DataCursor(object):
import matplotlib.pyplot as plt
text_template = 'x: %0.2f\ny: %0.2f'
x, y = 0.0, 0.0
xoffset, yoffset = -20 , 20
text_template = 'A: %s\nB: %s\nC: %s'
def __init__(self, ax):
self.ax = ax
self.annotation = ax.annotate(self.text_template,
xy=(self.x, self.y), xytext=(0,0),
textcoords='axes fraction', ha='left', va='bottom', fontsize=10,
bbox=dict(boxstyle='round,pad=0.5', fc='yellow', alpha=1),
arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0')
)
self.annotation.set_visible(False)
self.annotation.draggable()
def __call__(self, event):
self.event = event
self.x, self.y = event.mouseevent.xdata, event.mouseevent.ydata
if self.x is not None:
glim = pickle.load(open("ListA.py","rb"))
tlim …Run Code Online (Sandbox Code Playgroud) 当我通过启动脚本"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?
谢谢你的帮助.
我正在开发一个带有许多输入表的程序,我正在使用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) 我想问一下如何在wxPython面板中嵌入一个海盗形象.
与这篇文章类似,我想在wxPython面板中嵌入一个外部数字.wxPython根据Seaborn的kdeplot函数,我希望GUI 的特定面板根据高斯内核的带宽值绘制数据的密度轮廓,以及数据点的散点图.以下是我希望在面板中绘制的示例:
到目前为止,我已经设法从一个单独的图中得到我想要的wxPython面板.是否有可能在一个wxPython面板中嵌入一个seaborn情节或者应该找到另一种方法来实现我想要的东西?
下面是我的代码的特定部分,在需要时生成绘图:
import seaborn as sns
import numpy as np
fig = self._view_frame.figure
data = np.loadtxt(r'data.csv',delimiter=',')
ax = fig.add_subplot(111)
ax.cla()
sns.kdeplot(data, bw=10, kernel='gau', cmap="Reds")
ax.scatter(data[:,0],data[:,1], color='r')
fig.canvas.draw()
Run Code Online (Sandbox Code Playgroud)
这部分代码在wxPython面板中绘制了散乱的数据点,并为密度轮廓创建了一个外部图形.但是,如果我尝试ax.sns.kdeplot(...)我得到错误
属性错误:AxesSubplot对象没有属性.sns
我不知道我是否可以在wxPython面板中嵌入Seaborn人物,或者我应该尝试以另一种方式实现它.有什么建议?
提前致谢.
我在anaconda环境中使用python.当我导入matplotlib时,我遇到了与xwpython的兼容性问题.所以,我想切换后端.通常,这将使用matplotlibrc文件完成.但是,似乎~/.config/matplotlib/忽略了matplotlibrc .是否可以检查在导入matplotlib期间是否使用了matplotlibrc文件?使用python 2.7.
wxpython ×10
python ×9
matplotlib ×3
python-2.7 ×2
3d ×1
annotations ×1
c++ ×1
copy-paste ×1
drawing ×1
mouse-cursor ×1
performance ×1
py2exe ×1
seaborn ×1