我正在尝试创建一个具有默认高度但自定义宽度的文本控件.这是我目前的代码:
tc = wx.TextCtrl(self, -1)
tc.Size.SetWidth(300)
Run Code Online (Sandbox Code Playgroud)
但文本控件的宽度保持不变.我也尝试tc.Layout()在更改宽度后调用没有结果.我不想在类构造函数中输入自定义大小,因为我希望它使用默认高度.我还尝试过更详细,以防tc.GetSize返回Size对象的深层副本:
tc = wx.TextCtrl(self, -1, size=(300, 23))
tc_size = tc.Size
tc_size.SetWidth(300)
tc.Size = tc_size
tc.Layout()
Run Code Online (Sandbox Code Playgroud)
也无济于事.为什么我的代码不起作用,如何使其工作?
在构造函数中设置大小有效,因此sizer与问题无关.
我只是注意到我可以传递(300, -1)文本控件的大小:
wx.TextCtrl(self, -1, size=(300, -1))
Run Code Online (Sandbox Code Playgroud)
这导致文本控件使用默认高度.这解决了我的问题,但技术上没有回答我的问题,所以我坚持要求更好的答案.
编辑:这个答案加上以下评论回答了我的问题.
| 归档时间: |
|
| 查看次数: |
9715 次 |
| 最近记录: |