标签: wxpython

从Python中获取总/可用RAM

在Python应用程序中,如何以跨平台的方式获取系统的RAM总量以及当前有多少RAM?

理想情况下,可用RAM的数量应该只考虑实际可以分配给Python进程的物理内存.

python wxpython

9
推荐指数
3
解决办法
9225
查看次数

在wxPython wxComboBox中自动完成

我一直在尝试制作一个ComboBox,它可以在您键入时建议选项,就像IDE的代码建议/代码意义,或者在您键入搜索时的Google搜索建议.

建议将是ComboBox下拉列表中的项目,其中包含在ComboBox的文本框中键入的子字符串.

我试图让ComboBox做到这一点,没有运气,我已经尝试了蒙面的ComboBoxes,甚至尝试将ComboCrtl子类化,但是我总是遇到麻烦,无论是表现明智还是不能做什么我想要的

我的项目列表(建议)中有大约2500个项目,只需清除ComboBox并插入匹配的项目太慢.

我将如何制作这样的ComboBox,或者是否有我可以使用的内置功能?

在显示建议之前,我可以允许一小段延迟,但在我的意见中,整个窗口悬挂一两秒是不可接受的.

python combobox wxpython autocomplete autosuggest

9
推荐指数
1
解决办法
3326
查看次数

如何检测两个PIL图像之间的运动?(包括wxPython网络摄像头集成示例)

有没有人对如何在python中进行图像比较以检测图像中的变化有任何建议?我正在开发一个应用程序,用我的网络摄像头监视我的区域,我想弄清楚如何比较每帧拍摄的图像,看看是否有任何动作被检测到.从长远来看,我想设置一个灵敏度滑块,所以如果你能够指导我的方向,我相信我可以找到其余的.

我在这里看到一些关于将网络摄像头与wxPython集成的帖子,这是一个小型演示.请注意,我刚刚在昨晚开始使用,所以如果您正在寻找笔尖代码,您可能需要自己修改它(现在;):

要求:PILVideoCapture

#videocapturepanel.py

#Todo:
# - Fix background colour after video is stopped
# - Create image comparison method
# - Add capture function
# - Save stream to video file?


import threading, wx
from PIL          import Image
from VideoCapture import Device

cam = Device(0)
buffer, width, height = cam.getBuffer()
cam.setResolution(width, height)

DEFAULT_DEVICE_INDEX  = 0
DEFAULT_DEVICE_WIDTH  = width
DEFAULT_DEVICE_HEIGHT = height
DEFAULT_BACKGROUND_COLOUR = wx.Colour(0, 0, 0)

class VideoCaptureThread(threading.Thread):

    def __init__(self, control, width=DEFAULT_DEVICE_WIDTH, height=DEFAULT_DEVICE_HEIGHT, backColour=DEFAULT_BACKGROUND_COLOUR):
        self.backColour = …
Run Code Online (Sandbox Code Playgroud)

python webcam wxpython video-capture python-imaging-library

9
推荐指数
1
解决办法
7226
查看次数

使用py2exe与wxPython和Matplotlib

我正在尝试从使用wxPython和Matplotlib的python脚本生成一个.exe文件,看起来似乎是不可能的.

我正在做的导入(与Matplotlib有关)如下:

from numpy import *
import matplotlib
matplotlib.interactive(True)
matplotlib.use("WXAgg")
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigCanvas
from matplotlib.ticker import MultipleLocator

这是我正在尝试使用的setup.py文件:

from distutils.core import setup
import py2exe
import matplotlib

opts = {
'py2exe': {"bundle_files" : 3,
           "includes" : [ "matplotlib", 
            "matplotlib.backends",  
            "matplotlib.backends.backend_wxagg",
                        "numpy", 
                        "matplotlib.ticker",
                        "matplotlib.figure", "_wxagg"],
            'excludes': ['_gtkagg', '_tkagg', '_agg2', 
                        '_cairo', '_cocoaagg',
                        '_fltkagg', '_gtk', '_gtkcairo', ],
            'dll_excludes': ['libgdk-win32-2.0-0.dll',
                        'libgobject-2.0-0.dll']
          }
   }

setup(


  windows=[{'script':'starHunter.py', 'icon_resources':[(1, 'icon.ico')]}],

  data_files=matplotlib.get_py2exe_datafiles(),

  options=opts,

  zipfile=None
)
Run Code Online (Sandbox Code Playgroud)

在尝试运行.exe文件后,我总是得到"找不到matplotlib数据文件",顺便说一句,这个文件已成功创建.

附加信息:我在Windows XP上使用Python 2.6,Matplotlib 0.99.3,wxPython 2.8.11.0

提前致谢.任何帮助将不胜感激! …

windows-xp wxpython py2exe matplotlib

9
推荐指数
2
解决办法
5726
查看次数

在Linux下的virtualenv中安装wxPython

我想在virtualenv中设置一个wxpython.正如许多地方所详述的那样,easy_install/pip安装剂量不能用作setup.py.

我介绍了如何在Mac上进行设置,但是没有找到适合Linux的方法.

怎么能在Linux上完成?

我的实际用例有点实验性.我想让一个django项目调用一个wxpython应用程序.这在virtualenv之外工作,但导入失败,因为在virtualenv中没有安装wx.

我在这里先向您的帮助表示感谢.

linux ubuntu wxpython virtualenv

9
推荐指数
2
解决办法
2014
查看次数

如何从扩展名为.pyw的Python脚本打印到stdout?

我有一个带有wxpython GUI和一些命令行参数的python程序.我使用py2exe生成一个单独的Windows可执行文件.我不想在后台有一个命令行窗口,所以py2exe使这个没有这个窗口的pythonw可执行文件.这相当于使用*.pyw扩展名.

问题是,如果你想看到可用的命令行参数,你自然会在shell上执行"main.exe -h".即使argparse提供此信息,由于*.pyw扩展名,它也无法到达stdout.

那么如何使用pythonw为GUI应用程序重新启用stdout呢?

最小的工作范例:

# test.py
print "hello"
Run Code Online (Sandbox Code Playgroud)

执行:

#> python test.py
hello
#> pythonw test.py
#> 
Run Code Online (Sandbox Code Playgroud)

提前感谢任何建议!

python windows wxpython stdout pythonw

9
推荐指数
1
解决办法
1695
查看次数

来自SWIG PyObject_Call Segfault的Python回调

我有一个wx.py.Shell.shell小部件,它允许用户执行与我的程序交互的python代码.我希望能够将用户在此空间中定义的函数传递给我的C++代码(通过wxswig生成的自定义小部件包装器)并执行它.

在我的C++代码中,我使用std :: function <>类来调用绑定函数(C++或Python)

所以我创建了一个简单的类来用函数调用操作符包装PyObject.但是当我尝试调用PyObject*时,我得到了一个段错误.

class PyMenuCallback
{
    PyObject *Func;
public:
    PyMenuCallback(const PyMenuCallback &op2);
    PyMenuCallback(PyObject *func);
    ~PyMenuCallback ();

    void operator() (int id);
};
/////////////////////////////////////////////////////////
PyMenuCallback::PyMenuCallback(PyObject *func)
    : Func(func)
{
    Py_XINCREF (Func);
    if(!PyCallable_Check(Func))
        cout << "Not a Callable Callback." << endl; //Throw an exception or something
}

PyMenuCallback::PyMenuCallback(const PyMenuCallback &op2)
    : Func (op2.Func)
{
    Py_XINCREF (Func);
    if(!PyCallable_Check(Func))
        cout << "Not a Callable Callback." << endl;
}

PyMenuCallback::~PyMenuCallback()
{
    Py_XDECREF (Func);
}

void PyMenuCallback::operator() (int id)
{
    cout << "Calling Callback" …
Run Code Online (Sandbox Code Playgroud)

c++ python swig wxpython python-c-api

9
推荐指数
1
解决办法
2164
查看次数

wxPython wx.lib.plot.PlotCanvas错误

我正在制作一个非常简单的策划wxApp.

我已经安装了Python 2.7.9和wxPython 3.0.2

这是我的代码:

import wx
import wx.lib.plot as plot

class Pantalla(wx.Frame):
    def __init__(self):
        app = wx.App()
        self.frame1 = wx.Frame(None, title = "GRAFICADOR", id = -1, size=(500,500))
        self.panel1 = wx.Panel(self.frame1)
        self.panel1.SetBackgroundColour("white")
        plotter = plot.PlotCanvas(self.panel1, id=-1, pos = wx.Point(-1,-1), size = wx.Size(-1,-1), style = 0, name= 'plotCanvas')

        data = [(1,2), (2,3), (4,6)]
        line = plot.PolyLine(data, colour='red', width = 1)
        gc = plot.PlotGraphics([line], 'Line', 'Eje x', 'Eje y')
        plotter.Draw(gc, xAxis = (0,15), yAxis=(0,15))
        self.frame1.Show(True)
        app.MainLoop()

t = Pantalla()
Run Code Online (Sandbox Code Playgroud)

但是,每当我测试它时,它都会抛出这个错误:

Traceback (most …
Run Code Online (Sandbox Code Playgroud)

python wxpython

9
推荐指数
1
解决办法
973
查看次数

wxPython:这个程序需要访问屏幕

我正在尝试在以下最小应用程序中使用 Python GUI wx(可通过 安装pip install wxPython):

import wx
app = wx.App()
Run Code Online (Sandbox Code Playgroud)

运行此代码段将返回以下内容:

This program needs access to the screen. Please run with a Framework
build of python, and only when you are logged in on the main display
of your Mac.
Run Code Online (Sandbox Code Playgroud)

有谁知道如何帮助 wx 获得“访问屏幕”,或者什么是“Python 框架构建”?如果其他人可以为这些问题提供任何帮助,我将不胜感激!

python wxwidgets wxpython

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

如何使用wx.displaySize()查找两个监视器的屏幕大小

我想使用wxPython获取两个显示器的屏幕大小.

获取一个监视器的屏幕大小:(screenSize是包含x和y值的[]).

screenSize = wx.DisplaySize()
Run Code Online (Sandbox Code Playgroud)

但我想要一些适合多个监视器的东西,如下所示:

screenSizeMonitor1 = wx.DisplaySize()
screenSizeMonitor2 = wx.DisplaySize()
Run Code Online (Sandbox Code Playgroud)

如果可能的话,最好知道哪个监视器位于左侧(如果使用两个监视器),哪个监视器位于右侧.

python wxpython multiple-monitors

8
推荐指数
1
解决办法
4907
查看次数