【发布时间】:2013-12-22 19:54:16
【问题描述】:
我希望wx.TextCtrl 占据面板的整个剩余宽度。它与wx.StaticText 和wx.Button 一起放置在水平wx.BoxSizer 中,垂直wx.BoxSizer 在wx.lib.scrolledpanel.ScrolledPanel 中(下面是self):
# create TextCtrl
self.fileNameInput = wx.TextCtrl (self, style=wx.TE_PROCESS_ENTER)
# create horizontal sizer with 3 items
self.fileNameSizer = wx.BoxSizer (wx.HORIZONTAL)
self.fileNameSizer.Add (wx.StaticText (self, -1, 'none'), flag=(wx.ALIGN_CENTER_VERTICAL))
self.fileNameSizer.Add (self.fileNameInput, proportion=1, flag=(wx.EXPAND | wx.ALIGN_CENTER_VERTICAL))
self.fileNameSizer.Add (wx.Button (self, label='Button'), flag=(wx.ALIGN_CENTER_VERTICAL))
# create vertical sizer
self.SetSizer (wx.BoxSizer (wx.VERTICAL))
self.GetSizer ().Add (self.fileNameSizer)
proportion 和 wx.EXPAND 都不能帮助使 TextCtrl 更大,大概是因为 sizer 会查看 TextCtrls 自身的宽度。但是我没有找到任何样式或标志来让''TextCtrl'变成可变宽度..?
感谢您的想法!
编辑: 将“...”替换为有效的东西
【问题讨论】:
-
如果您让人们更轻松,您将获得更多答案。如果您发布了一个可以实际运行的独立的最小示例,这将更容易回答。我想我知道出了什么问题,但我不想在检查之前发布答案,而且我不会花所有时间替换“...”等。
-
@tom10:感谢您如此透彻,但我想把无趣的东西放在外面,并假设如果我从认为他知道哪里错的人那里得到提示,我就能弄清楚细节。 .. :-|无论如何,我更换了 ...s
-
如果您创建自包含的最小可运行示例来演示该问题,这将非常有帮助。类似于我的回答。