问题标签 [wxpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
579 浏览

python - wxpython:如何检查 OnDragOver 中拖动的数据?

我对 wxPython 中的拖放有点困惑(但也许这个问题也与其他 GUI 框架中的拖放有关)。框架提供了几个回调(OnEnter 和 OnDragOver),据称它们允许我通知系统当前鼠标位置是否是放置正在拖动的任何内容的有效位置。从这些方法中,我可以返回 wx.DragNone、wx.DragCopy 等。让我感到困惑的是,在这些方法中我不能调用 GetData,这意味着我不能检查用户正在拖动的数据。如果我看不到数据,我应该如何知道用户是否可以放到这里?

0 投票
2 回答
645 浏览

wxpython - 在 wxGenericDirCtrl 中隐藏目录

我正在使用 wxGenericDirCtrl,我想知道是否有隐藏目录的方法,我特别想隐藏父节点的兄弟姐妹。

例如,如果我的目录结构如下所示:

如果我当前选择的目录是 /a/c/d 有没有办法隐藏 b 和 g,以便树在我的 ctrl 中看起来像这样:

我目前正在使用一个目录结构,其中包含许多与大多数用户无关的目录,因此能够清理它会很好。

编辑:如果有什么不同,我正在使用 wxPython,到目前为止,我只使用 GTK 后端在 linux 上测试了我的代码,但我确实计划使它成为多平台并在 Windows 和 Mac 上使用本机后端。

0 投票
5 回答
23325 浏览

python - 类之间的 Python 传递变量

我正在尝试为游戏创建角色生成向导。在一类中,我计算了角色的属性。在另一个类中,我根据角色的属性向用户显示哪些专业可用。但是,我不记得如何在不同的类之间传递变量。

这是我所拥有的一个例子:

问题是我不知道如何使用从 BasicInfoPage 类到 MOS 类的“智能”变量。我尝试了互联网上的几种不同的方法,但似乎没有任何效果。我错过了什么?

编辑我在发布此内容后意识到我没有很好地解释它。我正在尝试从 1980 年代创建 Twilight 2000 RPG 的计算机版本。

我正在使用 wxPython 创建一个向导;我的类的父类是来自 wxPython 的向导。该向导将引导用户创建角色,因此基本信息页面(BasicInfoPage 类)允许用户提供角色的名称和角色属性的“滚动”。这就是“self.intelligence”的来源。

我正在尝试将她创建的属性用于向导中进一步的页面,用户可以在其中选择角色的专业。可用的专长取决于角色的属性,例如,如果智力足够高,则角色可以是 Intel Anaylst。

自从我编程以来已经有好几年了,尤其是在 OOP 的想法方面。这就是为什么我对如何使用类和方法创建本质上是全局变量的东西感到困惑。

0 投票
3 回答
2020 浏览

python - 动态单选按钮创建

在 wxPython 中,如果我创建一个单选按钮列表并最初放置该列表,以后是否可以更改该列表中的内容?

例如,我有一个面板,它最初使用 boxSizer 来放置小部件。其中一个小部件是单选按钮列表(我也尝试过普通的单选框)。我想根据另一个类的变量动态更改列表。

但是,一旦将列表放入 sizer 中,它就会被有效地“锁定”;我不能只修改列表并显示更改。如果我尝试将列表重新添加到 sizer,它只会放在面板的左上角。

我确信我可以隐藏原始列表并手动将新列表放在相同的位置,但这感觉就像一个杂物。我敢肯定,我让这件事变得比现在更难。我可能为此使用了错误的小部件,更不用说错误的方法,但我将其构建为一种学习体验。

0 投票
4 回答
4904 浏览

macos - 如何使用 wx 在 mac osx 上设置菜单栏图标

我找不到任何关于如何使用 wx 在 OSX 上创建菜单栏图标的指示。我原本以为 wxTaskBarIcon 类可以,但它实际上在 Dock 上创建了一个图标。在 Windows 上,wxTaskBarIcon 创建一个 Systray 图标和相关菜单,我认为在 mac osx 上它会创建一个菜单栏图标,我猜不是。

0 投票
9 回答
4634 浏览

python - 在长时间运行的任务期间保持 GUI 响应

在应用程序执行一些 CPU 密集型处理时保持 GUI 响应是有效 GUI 编程的挑战之一。

这是关于如何在 wxPython 中执行此操作的一个很好的讨论。总结一下,有3种方式:

  1. 使用线程
  2. 使用 wxYield
  3. 分块工作并在 IDLE 事件处理程序中完成

发现哪种方法最有效?来自其他框架(如 Qt、GTK 或 Windows API)的技术也受到欢迎。

0 投票
2 回答
1566 浏览

python - 有没有支持 CSS/样式表的 wxPython 的 Visual Library 替代品?

我开发了一个广泛使用 wxPython 的程序——python 的 wxWindow 端口。

即使它是成熟的库,它仍然非常原始且非常面向编程。这既费时又不灵活。

我很想看看是否有类似 Flex/Action Script 的东西,其中所有视觉尺寸都由样式表配置。

有什么想法吗?

0 投票
7 回答
5386 浏览

python - Python GUI 应用程序再分发

我需要开发一个中小型桌面 GUI 应用程序,由于时间限制,最好使用 Python 作为首选语言。

我有哪些 GUI 库选择允许我独立地重新分发我的应用程序,假设用户没有正常的 Python 安装并且显然也没有我正在使用的 GUI 库?

另外,对于每个目标操作系统,我将如何将所有内容打包成合理大小的二进制文件?(我的主要目标是 Windows 和 Mac OS X)

补充: 我一直在研究 WxPython,但是我发现了很多关于使用 cx_freeze 打包它并获得 30mb+ 二进制文件的恐怖故事,并且没有关于如何实际进行打包以及它的可信度的真正建议。

0 投票
2 回答
8450 浏览

wxpython - 如何从 wxPython 中的 wx.TextCtrl 控件获取滚动位置/范围

我有一个小日志应用程序(用 wxPython 编写),它从我们正在开发的一些工具包中接收数据,我想在滚动窗口中显示文本。就目前而言,我正在使用 wx.TextCtrl 进行文本显示,但我在滚动行为方面遇到了一些问题。

基本上,我希望滚动条位于窗口底部(即传入数据的末尾),添加更多数据应该向前滚动视图。但是,如果视图向上滚动了一点(即用户正在查看一些有趣的东西,例如错误消息),则应用程序应该只在末尾添加文本而不再滚动。

我目前有两个问题:

  1. 我不知道如何检索当前的滚动位置(对 GetScrollPos() 的调用似乎不起作用——它们只返回 0)。
  2. 我不知道如何检索滚动条的当前范围(调用 GetScrollRange() 只返回 1)。

我用谷歌搜索了一下,似乎有一些提示表明 GetScrollPos 和 GetScrollRange 不适用于 wx.TextCtrl?有没有其他人在这方面有任何经验?有没有一个很好的简单方法来解决这个问题,或者我将不得不推出我自己的 wx.TextCtrl?

0 投票
4 回答
1590 浏览

python - 将通用字体方案应用于 wxPython 中的多个对象

很多时候,我会在 wxPython 应用程序中对静态文本使用相同的字体方案。目前我正在SetFont()调用每个静态文本对象,但这似乎是很多不必要的工作。但是,wxPython 演示和 wxPython In Action 书中没有讨论这个问题。

有没有一种方法可以轻松地将相同的SetFont()方法应用于所有这些文本对象,而无需每次都单独调用?