标签: wxpython

如何使用matplotlib生成学生风格的图形?

我正在尝试使用matplotlib.前段时间我使用Excel VBA代码生成附加的图像.

您会注意到它不是以科学/研究风格呈现,而是如同学生在方格纸上生成 - 具有三种不同的网格线样式.

使用matplotlib是否有一种相当简单的方法来实现这类功能?

替代文字

python wxpython matplotlib

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

重新分解为MVC模式 - 对视图与控制器分离的疑虑

我试图将我的应用程序(具有1000多行GUI代码)重构为MVC样式模式.逻辑代码已经与GUI分离,因此这不是问题.我关心的是从控制器中分离出来的观点.我理解MVC的基本原理和wxpython wiki中的这个教程非常有用,但是代码示例有点简单,当我尝试将主体应用到我自己的项目时这让我很怀疑,这个项目要复杂得多.

一个结构的片段..

我有MainWindow一些小部件,包括一个noteBook(选项卡式部分),noteBook有许多选项卡其中一个选项卡(我调用FilterTab)包含一个类的两个实例(我称之为FilterPanel),这是一个带有列表框的面板,三个按钮,一个清除,一个删除,一个添加项目到列表中.根据实例化时传递给类的标志,add按钮事件可以创建不同类型的对话框,例如文本输入对话框或directoryPicker等.

这只是GUI的一部分,它非常分层 - 事件处理程序隐藏在FilterPanel类中.

如果我要将该部分转换为MVC,我将必须为我的控制器中的FilterPanel的每个实例(而不是filterPanel类)绑定按钮事件 - 在这种情况下有两个(filterPanel实例)

所以我会为每个按钮(每个filterPanel 3个按钮*面板实例的数量)加上处理程序这样的东西.

 self.mainWindow.filterTab.dirFilterPnl.Bind(wx.EVT_BUTTON,
                                    self.onAdd_dirFilterPnl, 
                            self.mainWindow.filterTab.dirFilterPnl.addBtn,
                            self.mainWindow.filterTab.dirFilterPnl.addBtn.GetId()
                                    )
Run Code Online (Sandbox Code Playgroud)

这增加了很多额外的代码,(如果我只有两个filterPanel实例,事件处理程序的数量加倍)

所以我想知道我采取了正确的方法吗?

python model-view-controller user-interface wxpython

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

wxPython:如何使TextCtrl填充Panel

如何设置多行TextCtrl的大小以始终填充其父面板?

python wxpython

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

使用SQLAlchemy和wxPython的桌面应用程序的项目结构

我想使用SQLAlchemy和wxPython创建一个桌面应用程序,但我想以类似于django项目的方式构建项目,使用django app-like包(相同模型,视图和测试在同一个包中)和设置,以及根目录中的主模块.

我想知道这是否是一个很好的结构,以及如何最大限度地减少包之间的耦合.

python desktop wxpython sqlalchemy project-structure

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

wxPython中的OnInit和__init__

我正在学习wxPython.在其中一个示例中,代码如下:

import wx

class App(wx.App):    
    def OnInit(self):
        frame = wx.Frame(parent=None, title = 'bare')
        frame.Show()
        return True


app=App()
app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

我注意到该类App没有构造函数,只有函数OnInit.据我所知,Python类是用__init__函数构造的.

那么,OnInit函数是针对特定的类吗?或者它是另一种类型的构造函数?

请原谅我的无知,因为我是新手.谢谢.

python constructor wxpython

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

"Windows错误:提供程序DLL无法正确初始化"导入冻结的wxpython应用程序中的cgi模块

我有一个冻结的wxpython应用程序的用户获取附加的屏幕截图.

错误消息是"Windows错误:提供程序DLL无法正确初始化"

从暂停的视频中截取的屏幕截图是我从他们那里得到此错误消息的唯一方法,因为整个事情立即消失(包括创建此DOS窗口以捕获stderr,此消息出现在哪里).IE python在它真正开始之前就已经死了.

回溯指向我在controller.py第14行的代码.

这条线是

import cgi

出于某种原因,似乎cgi在导入期间调用随机(为什么会这样?)并且出于某种原因,由于某些DLL原因,这是失败的.

有线索吗?

注1:此应用程序适用于数百个其他Windows和Mac用户.所以就好像我不提供某些不仅仅是因为这个用户的机器而出于某种原因的东西.

注2:使用bbfreeze创建可执行文件,使用以下配置:

 f = Freezer(distdir = distdir,
            includes = ['wx.lib.pubsub.core.kwargs.*',
                        'wx.lib.pubsub.core.*',
                        'dbhash',
                        'platform']
            )
Run Code Online (Sandbox Code Playgroud)

我不确定我还会在这里放什么.'CGI'?'随机'?

截图

python cgi wxpython

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

如何在conda环境中的Mac OS X上运行runsnakerun?

我创建了一个conda环境,所以我可以在Mac上使用runsnakerun,如下所示:

conda create -n runsnake wxPython
source activate runsnake
pip install runsnakerun
Run Code Online (Sandbox Code Playgroud)

但是,当我现在尝试使用runsnake时,我得到:

$ runsnake
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)

我怎样才能让runnake工作?

macos wxpython anaconda conda

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

如何在我的 pyinstaller 打包应用程序中排除 tcl/tk 文件夹?

我正在使用python(wxPython for UI)在windows 7上开发一个软件,pyinstaller是我用来打包的工具。但最近将 pyinstaller 升级到 3.1.1 后,tcl/tk目录中开始出现文件夹。并且 pyinstaller 2.1 捆绑了完全相同的源代码,因此找不到这样的文件夹,这应该是这样,因为我从未在任何地方使用过 tcl/tk。

我已经尝试过a.datas -= TOC([('tcl', None, 'DATA'), ('tk', None, 'DATA')]),但它不起作用。tcl/tk那么打包时如何排除呢?

python wxpython tkinter pyinstaller

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

在 ubuntu 16.04 上安装 wxPython 需要很长时间

我正在尝试使用 pip3 在 ubuntu 16.04 上为 python3 安装 wxPython,但是在下载了要求后,它卡在了安装中。我已经安装了这里提到的所需的开发包及其依赖项。

卡住的安装过程截图

python ubuntu wxpython python-3.x

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

wxPython wx.adv中的ImportError libSDL2-2.0.so.0

我正在运行 Ubuntu 18.04.3 LTS,Python 3.6.9,wx.version: 4.0.7.post2 gtk3 (phoenix) wxWidgets 3.0.5

当我导入 wx.adv 时,出现错误

导入错误:libSDL2-2.0.so.0:无法打开共享对象文件:没有这样的文件或目录

如果我运行:

sudo apt-file search  libSDL_image-1.2.so.0
Run Code Online (Sandbox Code Playgroud)

我得到:

libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0
libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0.8.4
Run Code Online (Sandbox Code Playgroud)

怎么了?

wxpython ubuntu-18.04

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