如何使用 wxPython 布局 3 窗格窗口?

2024-01-25

我正在尝试找到一种使用 wxPython 布局 3 窗格窗口的简单方法。

我想在左窗格中有一个树列表,然后有一个分为两部分的右窗格 - 顶部有一个编辑组件,底部有一个网格组件。

大致如下:



--------------------------------------
|             |                      |
|             |        Edit          |
|  Tree       |        Control       |
|  Control    |                      |
|             |----------------------|
|             |                      |
|             |        Grid          |
|             |                      |
--------------------------------------
  

我希望窗口能够重新调整大小,并使用户能够通过拖动边框来更改窗口内每个组件的(相对)大小。

我认为我需要某种大小调整器和/或分割窗口组件的组合,但在文档或网络上找不到此类窗口的合适示例。


这是一个非常简单的布局,使用 wx.aui 和三个面板。我想您可以轻松地调整它以满足您的需求。

奥尔扬普...

import wx
import wx.aui

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self, *args, **kwargs)

        self.mgr = wx.aui.AuiManager(self)

        leftpanel = wx.Panel(self, -1, size = (200, 150))
        rightpanel = wx.Panel(self, -1, size = (200, 150))
        bottompanel = wx.Panel(self, -1, size = (200, 150))

        self.mgr.AddPane(leftpanel, wx.aui.AuiPaneInfo().Bottom())
        self.mgr.AddPane(rightpanel, wx.aui.AuiPaneInfo().Left().Layer(1))
        self.mgr.AddPane(bottompanel, wx.aui.AuiPaneInfo().Center().Layer(2))

        self.mgr.Update()


class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, '07_wxaui.py')
        frame.Show()
        self.SetTopWindow(frame)
        return 1

if __name__ == "__main__":
    app = MyApp(0)
    app.MainLoop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 wxPython 布局 3 窗格窗口? 的相关文章

  • 使用 psycopg2 在 python 中执行查询时出现“编程错误:语法错误位于或附近”

    我正在运行 Python v 2 7 和 psycopg2 v 2 5 我有一个 postgresql 数据库函数 它将 SQL 查询作为文本字段返回 我使用以下代码来调用该函数并从文本字段中提取查询 cur2 execute SELECT
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • CGEventPostToPSN() 不适用于鼠标点击

    我需要将鼠标单击事件发送到任意进程 不一定是前面的进程 而不将该进程的窗口带到前面 此代码用于发送鼠标单击并让窗口服务器将其发送到它认为具有焦点的任何进程 include
  • 使用 VBA 更改图表字体

    如何使用 VBA 更改 Excel 图表的字体 如果我手动选择图表 并在手动更改字体名称和大小时录制宏 则会得到下面的宏 但是 当我立即重播宏时 它会抛出运行时错误 指定的值超出范围 所以看起来宏记录器有一个错误 这意味着我自己无法找出更改
  • java.util.Map 的 getOrDefault() 如何工作?

    我注意到 如果我执行 map getOrDefault key1 new Object 即使对象存在key1在地图上 new Object 被建造 虽然该方法没有返回它 但它仍然创建它 例如 public class Empl privat
  • 从 ByteArrayInputStream 获取内部字节数组

    我想从 ByteArrayInputStream 获取内部字节数组 我不想扩展该类或将其写入另一个字节数组 有没有实用程序类可以帮助我做到这一点 Thanks 您无法访问相同的字节数组 但您可以轻松复制流的内容 public byte re
  • WooCommerce |设置账单字段值

    我想将结帐账单字段的值预先填充到用户的数据库存储值在他第一次购买之前 我尝试过以下代码 add filter woocommerce checkout fields function fields fields billing billin
  • 使用 Boost Graph Library 将 boost 动态属性写入文件

    我已经问过问题了here https stackoverflow com questions 34132273 adding custom properties to vertex of a grid in boost graph libr
  • 如何将Spark结构化流数据写入Hive?

    如何将Spark结构化流数据写入Hive 有df write saveAsTable tablename 但是我不确定这是否会写入流数据 我通常这样做df writeStream trigger new ProcessingTime 100
  • 如何从 Node.js 中的错误中获取行名和文件名?

    假设我有 var err new Error My error 如何获取行名和文件名 在哪里Error被创造了 就像 PHP 中一样 ex new Exception ex gt getLine ex gt getFile 您可以使用堆栈跟
  • 如何使用 NSDateFormatter 查看“Today”字符串

    苹果在消息应用程序中使用它来发送今天的消息 今天上午 11 45 昨天上午 11 45 我在苹果开发者网站上看到它 要为日期格式化程序指定自定义固定格式 您可以使用 设置日期格式 格式字符串使用以下格式模式 Unicode 技术标准 35
  • 工厂方法模式与多处理队列的使用冲突

    我已经实现了工厂方法模式来参数化产品类的基类 def factory ParentClass class Wrapper ParentClass attr foo def wrapped method Do things to be don
  • 使用 PEM PrivateKey 签署字符串

    我有一个 PEM 编码的私钥 我需要用它签署一个字符串 但代码不断崩溃 出现异常 java security spec InvalidKeySpecException java lang RuntimeException error 0c0
  • 具有多个 Active Directory 服务器的 Grails Spring Security LDAP 插件

    我有 Grails Spring Security 插件连接到一台 Active Directory 服务器 没有任何问题 但是 我需要连接到多个服务器 我们在一台 AD 服务器上有一些用户 在另一台服务器上有其他用户 因此我们需要尝试在两
  • 内存转储比可用内存小得多

    我有一个 Tomcat 应用程序服务器 配置为在 OOM 上创建内存转储 并且以 Xmx1024M 启动 因此应该有千兆字节可供他使用 现在我找到了一个这样的转储 它只包含 260MB 的未保留内存 垃圾场怎么可能比他应有的可用大小小得多
  • SonarQube 规则鱿鱼:S1451 应定义版权和许可证标头

    我的所有 SonarQube 代码分析 Java 项目都未能遵循此规则 每个源文件都应以标头开头 说明文件所有权以及分发应用程序必须使用的许可证 此规则必须包含每个文件开头所需的标题文本 有一个参数 headerFormat 预期的版权和许
  • gnuplot 坐标系之间的转换

    TL DR 有没有办法在多图设置中对齐不同图的角 有没有办法转换axis坐标到screen坐标 详细解释 我正在尝试使用 gnuplot 布局一个相当复杂的画布 为了实现我想要的 我需要将不同的图精确地堆叠在一起 我做了类似的事情 rese
  • 使用replicate()或sapply()重复用户定义的函数

    我定义了一个自定义函数 如下所示 my fun function for i in 1 1000 for j in 1 20 return output 它返回一个输出矩阵 output 由 1000 行和 20 列组成 我需要做的是重复该
  • YouTube API:API 说它是可嵌入的且未被阻止,但当它嵌入时,它会被阻止

    我想知道是否有人遇到过这个问题 我正在尝试嵌入 The Killers Human 音乐视频 当我执行 API feed 请求时 如下所示 这表明视频是可嵌入的并且没有被阻止 它甚至声明您可以使用以下 URL 嵌入 然而 当我尝试此操作并播
  • 当键不统一时,如何在不使用 Pandas 的情况下从嵌套字典绘制条形图?

    我有一个像这样的嵌套字典 uvvm 0 250ms 96 500 750ms 2 usvv 0 250ms 1 unsharedChunksVirtualVolume 0 250ms 21 ubvv 0 250ms 60 250 500ms
  • React-intl,将 api 与 Typescript 结合使用

    我想使用formatMessage的功能react intlAPI 插入消息作为占位符 但我无法找出访问此函数的正确方法 这是我所拥有的简化版本 index tsx
  • 如何使用 wxPython 布局 3 窗格窗口?

    我正在尝试找到一种使用 wxPython 布局 3 窗格窗口的简单方法 我想在左窗格中有一个树列表 然后有一个分为两部分的右窗格 顶部有一个编辑组件 底部有一个网格组件 大致如下 Edit Tree Control Control