wxPython:wx.PyControl可以包含wx.Sizer吗?

2024-01-09

Can a wx.PyControl包含一个wx.Sizer?

请注意,我最终想要在这里做的事情(具有浮点值的旋转器)已经在另一个问题中得到了回答。我对在 a 中布局小部件特别感兴趣wx.PyControl如果我需要制作自己的自定义小部件,这项技能可能会很有用。我已经读完了创建自定义控件 http://wiki.wxpython.org/CreatingCustomControls,但它没有在wx.PyControl子类。

使用下面的代码,我的CustomWidget只是看起来不太对劲。我还没有做DoGetBestSize因为我认为这适用于wx.Sizer acting on一个小部件。我实际上有一个wx.Sizer做它的事inside a CustomWidget.

这是我的代码(没有子小部件之间的事件绑定):
EDIT:这是我更正后的类代码,感谢史蒂文·斯普罗特 https://stackoverflow.com/questions/3271639/wxpython-can-a-wx-pycontrol-contain-a-wx-sizer/3272377#3272377:

import wx

class CustomWidget(wx.PyControl):
  def __init__(self, parent):
    wx.PyControl.__init__(self, parent=parent, style=wx.NO_BORDER) # Style added.
    text = wx.TextCtrl(parent=self)
    spin = wx.SpinButton(parent=self, style=wx.SP_VERTICAL)
    sizer = wx.GridBagSizer()
    self.layout(text, spin, sizer)
    self.OnInit(text, sizer)

  def OnInit(self, text, sizer):
    text.SetValue(u"0.000")

  def layout(self, text, spin, sizer):
    self.SetSizer(sizer)
    sizer.Add(text, pos=(0, 0), flag=wx.ALIGN_CENTER)
    sizer.Add(spin, pos=(0, 1), flag=wx.ALIGN_CENTER)
    self.Fit()
    self.Layout() # This is what I lacked. I needed to call .Layout()
    self.CenterOnParent()

是的,它可以。您只需要调用 Layout() 来告诉 sizer 重新计算/布局其子项。

import wx

class Frame(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None)
    blah  = CustomWidget(self)
    self.Show(True)

class CustomWidget(wx.PyControl):
  def __init__(self, parent):
    wx.PyControl.__init__(self, parent=parent)
    text = wx.TextCtrl(parent=self)
    spin = wx.SpinButton(parent=self, style=wx.SP_VERTICAL)
    sizer = wx.GridBagSizer()
    self.layout(text, spin, sizer)
    self.OnInit(text, sizer)

  def OnInit(self, text, sizer):
    text.SetValue(u"0.000")

  def layout(self, text, spin, sizer):
    self.SetSizer(sizer)
    sizer.Add(text, pos=(0, 0), flag=wx.ALIGN_CENTER)
    sizer.Add(spin, pos=(0, 1), flag=wx.ALIGN_CENTER)
    self.Fit()
    self.Layout()
    self.CenterOnParent()

app = wx.App()
f = Frame()
app.MainLoop()

顺便说一下,如果你能像上面那样附加一个可运行的示例,那就太好了:)

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

wxPython:wx.PyControl可以包含wx.Sizer吗? 的相关文章

  • Python中Decimal类型的澄清

    每个人都知道 或者至少 每个程序员都应该知道 http docs oracle com cd E19957 01 806 3568 ncg goldberg html 即使用float类型可能会导致精度错误 然而 在某些情况下 精确的解决方
  • 使用 python 进行串行数据记录

    Intro 我需要编写一个小程序来实时读取串行数据并将其写入文本文件 我在读取数据方面取得了一些进展 但尚未成功地将这些信息存储在新文件中 这是我的代码 from future import print function import se
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • 如何正确地将 MIDI 刻度转换为毫秒?

    我正在尝试将 MIDI 刻度 增量时间转换为毫秒 并且已经找到了一些有用的资源 MIDI Delta 时间刻度到秒 http www lastrayofhope co uk 2009 12 23 midi delta time ticks
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 为什么在 Python 2.4 中使用 Unicode 数据会出现 ASCII 编码错误,而在 2.7 中却不会?

    我有一个程序 当在 Python 2 7 中运行时 会生成正确的 Unicode 输出到标准输出 当在 Python 2 4 中运行时 我得到UnicodeEncodeError ascii codec can t encode chara
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 将 JSON 对象传递给带有请求的 url

    所以 我想利用 Kenneth 的优秀请求模块 https github com kennethreitz requests 在尝试使用时偶然发现了这个问题自由库API http wiki freebase com wiki API 基本上
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • Python 无法使用套接字绑定我的外部/公共 IP 地址,给出错误但是当使用本地 IP 地址时,错误不会显示

    这是出现主要错误的代码 与我的本地 IP 的绑定将起作用 s bind 192 168 1 4 port 与我的公共 IP 的绑定失败并出现以下错误 s bind 99 99 99 99 port WinError 10049 请求的地址在
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • 使用 VSCode 调试 Celery

    我在用VSCode https code visualstudio com 用于使用 Django 框架进行 Web 开发 调试 Django 没有任何问题 但是当我尝试使用Celery http docs celeryproject or
  • Noob file.copy 问题在复制 .exe 文件 C# 时遇到问题

    我试图将 exe 文件从临时目录复制到桌面 但是当我这样做时 它只是创建一个新的 exe 文件 其中没有数据 大小为 0 KB 我用 txt 文件测试了这个语法 它完全复制了它 只是由于某种原因拒绝复制 exe 文件 我尝试使用string
  • 将颜色声明为常量

    我怎样才能申报Color输入为const像这样 private const Color MyLovedColor Color Blue 这不起作用 因为 Color Blue 是静态的而不是常量 只读对我没有帮助 因为我需要仅 支持 常量的
  • 纬度返回 0,0

    我正在尝试创建一个显示我当前位置的应用程序 我拥有所有必要的许可 我有另一个类名称 GPS 跟踪器来获取我的 GPS 位置 这是我的代码 GPSTracker gpsTracker new GPSTracker this LocationM
  • Nexus 7 上的 Android 4.2:canvas.drawText() 无法正常工作

    我的应用程序面临严重问题 该应用程序发布在 Google Play 上 并且显然在除 gt 4 0 之外的所有 Android 版本上都运行良好 这是我的 Android 4 0 HTC 手机的屏幕截图 这是我在 Nexus 7 Andro
  • 在 Sweetalert 上显示成功消息通知

    我想显示使用 Sweetalert 成功删除数据的消息以及脚本的开头 a href class delete link Delete a JavaScript jQuery document ready function delete li
  • 创建自定义大通知

    我想创建一个包含一些控件的通知 由于文本和控件在默认通知大小 64dp 下都很小 因此我希望它比默认大小更大 可以创建更大的通知 我认为也可以有自定义布局 但我不知道如何 To be more specific the following
  • Clojurescript:错误:无法找到或加载主类 clojure.main

    我按照它安装了 Clojurescript快速入门指南 https github com clojure clojurescript wiki Quick Start 我将 git 存储库拉到 clojurescript CLOJURESC
  • SwiftUI @State var 初始化问题

    我想初始化 a 的值 StateSwiftUI 中的 var 通过init 的方法Struct 因此它可以从准备好的字典中获取正确的文本 以便在 TextField 中进行操作 源代码如下所示 struct StateFromOutside
  • $_GET 。未定义的变量。找不到解决方案[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我遇到了问题并且没有想法 我试图从 URL 获取参数 但 PHP 坚持说该变量未定义 网址是 http localhost tre
  • Twitter Bootstrap 中的响应式表处理

    当表格的宽度超过跨度的宽度时 就像这个页面 http jsfiddle net rcHdC http jsfiddle net rcHdC 您将看到表格的内容超出了span 解决这种情况的最佳方法是什么 引导程序3 http blog ge
  • 如何在 AngularJS 指令中的元素上绑定滚动事件

    如何在 AngularJS 指令中的元素上绑定滚动事件 我在 window 上绑定滚动 但现在我需要将其更改为此类 body wrapper angular element document queryselector body wrapp
  • 如何将 pandas 数据框逐行写入 CSV 文件,一次一行?

    我有一个大约 100 万个地址的列表 以及一个查找它们的纬度和经度的函数 由于某些记录的格式不正确 或出于任何原因 有时该函数无法返回某些地址的纬度和经度 这将导致 for 循环中断 因此 对于成功检索到纬度和经度的每个地址 我想将其写入输
  • firebase db:具有 Kotlin 委托属性的模型

    我正在使用 Kotlin 对象来处理我的 Firebase 数据库模型 如上所述在指南中 https firebase google com docs database android read and write basic write
  • 使用 JavaScript 滚动页面

    我在用着Ender js http ender no de 我试图让页面滚动到特定位置 我认为我在这里做错了什么 但页面甚至没有移动 理想情况下 我希望使用动画事件 但 emile 不接受scrollTop 作为参数 任何帮助表示赞赏 do
  • UICollectionView indexPathsForVisibleItems 不更新新的可见单元格

    我有一个 ViewController 里面有一个 CollectionView 加载视图时 可见单元格 9 个单元格 会正确显示 当我向下滚动时 我想通过调用partnerCollectionView的indexPathsForVisib
  • 使用 DecelerationEnded 会干扰其他回调

    我正在尝试使用减速结束与 一起回调Tapped MT Dialog 元素上的回调 我无法让两者同时工作 当 DecelerationEnded 回调被注释掉时 点击 回调将起作用 当它被注释时 tapped 回调将不再被触发 而 Decel
  • 如何在spark中设置驱动程序的python版本?

    我正在使用 Spark 1 4 0 rc2 因此我可以将 python 3 与 Spark 一起使用 如果我添加export PYSPARK PYTHON python3 to my bashrc文件中 我可以与 python 3 交互运行
  • 清除 Laravel 的 orderBy

    我有一个通用函数 它为我提供通用查询集 例如 class Model extends Eloquent public static function get queryset queryset self where foo bar Do t
  • wxPython:wx.PyControl可以包含wx.Sizer吗?

    Can a wx PyControl包含一个wx Sizer 请注意 我最终想要在这里做的事情 具有浮点值的旋转器 已经在另一个问题中得到了回答 我对在 a 中布局小部件特别感兴趣wx PyControl如果我需要制作自己的自定义小部件 这