質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

913閲覧

wxpythonでボタンを画面いっぱいに表示したい

RN082491X

総合スコア17

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/03/12 00:17

編集2020/03/12 00:19

##前提
Pythonを使ってGUIを作っています。

##実現したいこと
一つのボタンをFrameの全体に表示させたいです。

##発生している問題
以下のようなコードを実行したところ

python

1import wx 2 3class MyFrame2 ( wx.Frame ): 4 5 def __init__( self, parent ): 6 wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 300,200 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) 7 8 self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) 9 10 bSizer4 = wx.BoxSizer( wx.VERTICAL ) 11 12 self.m_button6 = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.Size( 300,200 ), 0 ) 13 bSizer4.Add( self.m_button6, 0, flag = wx.GROW,) 14 15 16 self.SetSizer( bSizer4 ) 17 self.Layout() 18 19app =wx.App() 20frame = MyFrame2(None) 21frame.Show() 22app.MainLoop()

次のようなウィンドウが得られました。

イメージ説明

ボタンを縦にも画面いっぱいに表示したいと考えています。

##試したこと
flagにwx.GROWやwx.EXPANDを指定しましたが、結果は変わりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RN082491X

2020/03/12 23:47

ありがとうございます。 サイトによっては大きなボタンが作れていたので不思議に思っていたのですが、OSのせいだったんですね…。
guest

回答1

0

自己解決

直接の解決法ではないですが。ボタンのテキストに改行を入れたら縦にボタンの長さを伸ばすことができました。

Python

1import wx 2 3class MyFrame2 ( wx.Frame ): 4 5 def __init__( self, parent ): 6 wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 300,200 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) 7 8 self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) 9 10 bSizer4 = wx.BoxSizer( wx.VERTICAL ) 11 12 self.m_button6 = wx.Button( self, wx.ID_ANY, u"\nMyButton\n", wx.DefaultPosition, wx.Size( 300,200 ), 0 ) 13 bSizer4.Add( self.m_button6, 0, flag = wx.GROW,) 14 15 16 self.SetSizer( bSizer4 ) 17 self.Layout() 18 19app =wx.App() 20frame = MyFrame2(None) 21frame.Show() 22app.MainLoop()

イメージ説明

投稿2020/03/13 01:51

RN082491X

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問