デフォルトの高さでカスタムの幅を持つテキストコントロールを作成しようとしています。これは私の現在のコードです:
tc = wx.TextCtrl(self, -1)
tc.Size.SetWidth(300)
ただし、テキストコントロールの幅は変更されません。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()
また、役に立たない。コードが機能しないのはなぜですか。また、どのように機能させるのですか?
コンストラクターでサイズを設定すると機能するため、サイザーは問題とは無関係です。