で静的なテキストの折り返しサブパネルは中央にあります。静的テキスト要素は、サブパネルの上部に位置し、ウィンドウサイズを変更する場合には、適切にラップする必要があります。パネルのパディングと、私はこの</p> <p><a href="https://i.stack.imgur.com/NLjCQ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/NLjCQ.png" alt="enter image description here"></a></p> <p>だけで、別の左と右の空白のパディングを持つフレーム内のメインパネルがあるようなレイアウトに何かを持っていると思いwxPythonの
import wx
class MyPanel(wx.Panel):
def __init__(self, parent):
super(MyPanel, self).__init__(parent)
self.hsizer = wx.BoxSizer()
self.hsizer.AddStretchSpacer()
self.panel = wx.Panel(self)
self.panel.SetSize((350, -1))
self.vsizer = wx.BoxSizer(wx.VERTICAL)
label = (
"This is a long scentence that I want it wrapped properly, "
"but it doesn't seem to work at work. "
"I prefer if you guys can give any sugeestions or help. "
"For Long Long Long Long Long scentence."
)
style = wx.ALIGN_LEFT
self.static_text = wx.StaticText(self, label=label, style=style)
self.vsizer.Add(self.static_text, flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
self.static_text.Wrap(self.panel.Size[0])
self.static_text.SetAutoLayout(True)
self.panel.SetSizer(self.vsizer)
self.hsizer.Add(self.panel, flag=wx.ALIGN_CENTER)
self.hsizer.AddStretchSpacer()
self.SetSizer(self.hsizer)
self.Layout()
print self.Size
print self.panel.Size
if __name__ == '__main__':
app = wx.App()
frame = wx.Frame(None)
sizer = wx.BoxSizer()
sizer.Add(MyPanel(frame), flag=wx.EXPAND)
frame.SetSizer(sizer)
frame.Show()
app.MainLoop()
を以下のように記載されている
私のコードスニペットは現在、サブパネルは、中央に配置されていないだけでなく、ウィンドウのサイズを変更する場合、静的なテキスト内のテキストが正しく折り返されません。それを動作させるための提案はありますか?
あなたの正しさをありがとうとウィジェット検査ツールのご紹介。本当に便利です! –