寻找一种方法来改变wx.lib.masked.TimeCtrl实例的宽度(Windows上的wxPython)

时间:2016-01-19 05:05:23

标签: python wxpython

好的,这是问题:

Hour being blocked from viewing

如您所见,在wx.lib.masked.TimeCtrl实例中编辑秒数时,小时段将被部分阻止。但是使用size参数或SetSize方法无法更改宽度,只能更改高度,这无法解决问题。

我已经检查了一下源代码,看起来TimeCtrlBaseMaskedTextCtrl的继承,它是wx.TextCtrl和{{1}的多重继承。 },基本上如果在创建新的MaskedEditMixin实例时给出了size

TimeCtrl

但实际上# allow for explicit size specification: if size != wx.DefaultSize: # override (and remove) "autofit" autoformat code in standard time formats: maskededit_kwargs['formatcodes'] = 'T!' 只是告诉maskededit_kwargs['formatcodes'] = 'T!':1)它是时间格式; 2)根据这些行强制显示为大写的所有字符:

MaskedEditMixin

所以基本上声称允许显式大小规范的代码对它没有任何作用,而且我有点迷失在检查哪个部分负责改变宽度,任何人都知道如何做到这一点?

P.S。:Windows 7 64位上的wxPython 3.0.2.0

1 个答案:

答案 0 :(得分:0)

找到解决方案!

<!DOCTYPE html> <html> <body> <h1>JavaScript Variables</h1> <p>In this example, x, y, and z are variables</p> <p id="demo"></p> <script> var x = 5; var y = 6; var z = x + y; var bvalue=true; document.getElementById("demo").innerHTML = 10000<<"5daz"; </script> </body> </html> 中实际上是SetFont方法:

BaseMaskedTextCtrl

正如您所见,def SetFont(self, *args, **kwargs): """ Set the font, then recalculate control size, if appropriate. """ wx.TextCtrl.SetFont(self, *args, **kwargs) if self._autofit: ## dbg('calculated size:', self._CalcSize()) self.SetClientSize(self._CalcSize()) width = self.GetSize().width height = self.GetBestSize().height ## dbg('setting client size to:', (width, height)) self.SetInitialSize((width, height)) 可用于设置宽度和高度。

非常方便。