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

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

新規登録して質問してみよう
ただいま回答率
85.50%
ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3857閲覧

wxPythonでボタンが表示されない

tanakatarou

総合スコア8

ウィンドウ

コンピューター用語において、ウィンドウとはユーザとプログラムのやり取りを可能にするGUIの枠組みのことをいいます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2016/09/19 11:36

編集2016/09/19 11:37

###前提・実現したいこと
wxPythonで画像をウィンドウに表示するプログラムを作っています。
###発生している問題・エラーメッセージ

何故か画像を表示させると3つあるボタンのうち1つしか表示されなくなってしまうのですが何が原因なのでしょうか。

###該当のソースコード

python

1# -*- coding: utf-8 -*- 2import wx 3import Image 4 5def click_button_3(event): 6 if event.GetId() == 3333: 7 frame.SetStatusText("Click! button_3") 8 elif event.GetId() == 1111: 9 frame.SetStatusText("button1") 10 elif event.GetId() == 2222: 11 frame.SetStatusText("button2") 12 13application = wx.App() 14 15#フレーム作成 サイズ600X600 16frame = wx.Frame(None,-1,u"テスト",size=(600,600)) 17frame.CreateStatusBar() 18 19icon = wx.Icon("ico_top_black.png",wx.BITMAP_TYPE_PNG) 20 21frame.SetBackgroundColour("black") 22frame.SetIcon(icon) 23 24bitmap = wx.Bitmap("sm_10_4_sean1.jpg") 25wx.StaticBitmap(frame,-1,bitmap,(0,0),(460,350)) 26 27 28panel = wx.Panel(frame,wx.ID_ANY,pos=(0,400),size=(600,200)) 29panel.SetBackgroundColour("transparent") 30 31button1 = wx.Button(panel,-1,u"ボタン1") 32button2 = wx.Button(panel,-1,u"ボタン2") 33button3 = wx.Button(panel,-1,u"ボタン3") 34 35frame.Bind(wx.EVT_BUTTON,click_button_3,button1) 36frame.Bind(wx.EVT_BUTTON,click_button_3,button2) 37frame.Bind(wx.EVT_BUTTON,click_button_3,button3) 38 39layout = wx.BoxSizer(wx.HORIZONTAL) 40layout.Add(button1) 41layout.Add(button2) 42layout.Add(button3) 43 44panel.SetSizer(layout) 45 46frame.Show() 47application.MainLoop() 48

###試したこと
画像を消して試してみると正常に3つのボタンが表示されました。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

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

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

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

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

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

guest

回答1

0

自己解決

何故かsizerをpanelに関連付けていたのでframeに直したらちゃんと表示されました。
次からはもう少しコードをよく見るようにします。

投稿2016/09/19 11:46

tanakatarou

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問