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

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

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

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

Q&A

1回答

605閲覧

wxpythonのGUI表示のエラーについて

ahirukun

総合スコア12

Python 3.x

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

0グッド

1クリップ

投稿2019/09/13 05:04

編集2019/09/13 05:44
import wx import openpyxl class MyApp(wx.Frame): def __init__(self, parent, id, title): frame = wx.Frame.__init__(self, parent, id, title, size=(470, 500)) vbox_top01 = wx.BoxSizer(wx.VERTICAL) vbox00 = wx.BoxSizer(wx.HORIZONTAL) notebook = wx.Notebook(self, -1) panel01 = wx.Panel(notebook, wx.ID_ANY) panel02 = wx.Panel(notebook, wx.ID_ANY) notebook.AddPage(panel01, 'Extention') notebook.AddPage(panel02, 'CC_Edit') vbox1 = wx.BoxSizer(wx.VERTICAL) #panel1 panel1 = wx.Panel(panel01, -1) hbox11 = wx.BoxSizer(wx.HORIZONTAL) sizer11 = wx.StaticBoxSizer(wx.StaticBox(panel1, -1, ''), orient=wx.VERTICAL) s_text_11 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.TE_CENTER) bot_element = ("","","") bot_combobox = wx.ComboBox(panel1, wx.ID_ANY, '',choices=bot_element, style=wx.CB_READONLY) s_text_12 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.TE_CENTER) cc_element = () cc_combobox = wx.ComboBox(panel1, wx.ID_ANY, '',choices=cc_element, style=wx.CB_READONLY) wb = openpyxl.load_workbook(".xlsx") sheet = wb["Sheet1"] for i in range(2,wb['Sheet1'].max_row + 1): cc_combobox.Append(sheet.cell(row=i,column=1).value) s_text_13 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.TE_CENTER) mode_element = ("","") mode_combobox = wx.ComboBox(panel1, wx.ID_ANY, '',choices=mode_element, style=wx.CB_READONLY) sizer11.Add(s_text_11, proportion=2) sizer11.Add(bot_combobox, proportion=3, flag=wx.GROW) sizer11.Add(s_text_12, proportion=2) sizer11.Add(cc_combobox, proportion=3, flag=wx.GROW) sizer11.Add(s_text_13, proportion=2) sizer11.Add(mode_combobox, proportion=3, flag=wx.GROW) hbox11.Add(sizer11) sizer12 = wx.FlexGridSizer(rows=5, cols=2, gap=(20, 0)) s_text_14 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.ALIGN_CENTER) reload_text = wx.TextCtrl(panel1, wx.ID_ANY, style=wx.TE_CENTER) s_text_15 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.ALIGN_CENTER) restock_text = wx.TextCtrl(panel1, wx.ID_ANY, style=wx.TE_CENTER) s_text_16 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.ALIGN_CENTER) cartin_text = wx.TextCtrl(panel1, wx.ID_ANY, style=wx.TE_CENTER) s_text_17 = wx.StaticText(panel1, wx.ID_ANY, '', style=wx.ALIGN_CENTER) checkout_text = wx.TextCtrl(panel1, wx.ID_ANY, style=wx.TE_CENTER) font = wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL) reload_text.SetFont(font) restock_text.SetFont(font) cartin_text.SetFont(font) checkout_text.SetFont(font) sizer12.Add(s_text_14) sizer12.Add(s_text_15) sizer12.Add(reload_text) sizer12.Add(restock_text) sizer12.Add(s_text_16) sizer12.Add(s_text_17) sizer12.Add(cartin_text) sizer12.Add(checkout_text) sizer12.AddGrowableRow(0, 1) sizer12.AddGrowableRow(1, 4) sizer12.AddGrowableRow(2, 1) sizer12.AddGrowableRow(3, 4) hbox11.Add(sizer12) panel1.SetSizer(hbox11) vbox1.Add(panel1, 1, wx.EXPAND | wx.TOP | wx.RIGHT | wx.LEFT, 10) #panel2 panel2 = wx.Panel(panel01, -1) hbox12 = wx.BoxSizer(wx.HORIZONTAL) payment_checkbox = wx.CheckBox(panel2, wx.ID_ANY, '') payment_checkbox.SetValue(True) size_checkbox = wx.CheckBox(panel2, wx.ID_ANY, '') size_checkbox.SetValue(True) hbox12.Add(payment_checkbox) hbox12.Add(size_checkbox) panel2.SetSizer(hbox12) vbox1.Add(panel2, 1, wx.EXPAND | wx.LEFT | wx.TOP, 10) panel01.SetSizer(vbox1) self.Show(True) app = wx.App() MyApp(None, -1, 'Profile') app.MainLoop() コード

wxpythonでGUIを作っているのですが上のコードを実行するとチェックボックスのあたりに黒い点が現れます。
notebookが原因だと思うのですがどのように書けば解決するでしょうか

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

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

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

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

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

guest

回答1

0

コントロールを一つずつ消していったところ

panel2 = wx.Panel(panel01, -1)

が黒い点を描画している原因になっているみたいです。
Sizerの上にPanelを載せるのをやめて直でSizerを入れると黒い点は消えるみたいです。(レイアウトは変わってしまいますが・・・)

Python

1import wx 2import openpyxl 3class MyApp(wx.Frame): 4 5 def __init__(self, parent, id, title): 6 frame = wx.Frame.__init__(self, parent, id, title, size=(470, 500)) 7 vbox_top01 = wx.BoxSizer(wx.VERTICAL) 8 9 vbox00 = wx.BoxSizer(wx.HORIZONTAL) 10 11 12 notebook = wx.Notebook(self, -1) 13 14 panel01 = wx.Panel(notebook, wx.ID_ANY) 15 panel02 = wx.Panel(notebook, wx.ID_ANY) 16 17 18 notebook.AddPage(panel01, 'Extention') 19 notebook.AddPage(panel02, 'CC_Edit') 20 21 22 vbox1 = wx.BoxSizer(wx.VERTICAL) 23 24 hbox11 = wx.BoxSizer(wx.HORIZONTAL) 25 26 sizer11 = wx.StaticBoxSizer(wx.StaticBox(panel01, -1, ''), orient=wx.VERTICAL) 27 s_text_11 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.TE_CENTER) 28 bot_element = ("","","") 29 bot_combobox = wx.ComboBox(panel01, wx.ID_ANY, '',choices=bot_element, style=wx.CB_READONLY) 30 s_text_12 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.TE_CENTER) 31 cc_element = () 32 cc_combobox = wx.ComboBox(panel01, wx.ID_ANY, '',choices=cc_element, style=wx.CB_READONLY) 33 34 #wb = openpyxl.load_workbook(".xlsx") 35 #sheet = wb["Sheet1"] 36 37 #for i in range(2,wb['Sheet1'].max_row + 1): 38 # cc_combobox.Append(sheet.cell(row=i,column=1).value) 39 cc_combobox.Append('A') 40 cc_combobox.Append('B') 41 cc_combobox.Append('C') 42 s_text_13 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.TE_CENTER) 43 mode_element = ("","") 44 mode_combobox = wx.ComboBox(panel01, wx.ID_ANY, '',choices=mode_element, style=wx.CB_READONLY) 45 46 47 sizer11.Add(s_text_11, proportion=2) 48 sizer11.Add(bot_combobox, proportion=3, flag=wx.GROW) 49 sizer11.Add(s_text_12, proportion=2) 50 sizer11.Add(cc_combobox, proportion=3, flag=wx.GROW) 51 sizer11.Add(s_text_13, proportion=2) 52 sizer11.Add(mode_combobox, proportion=3, flag=wx.GROW) 53 54 hbox11.Add(sizer11) 55 vbox1.Add(hbox11) 56 57 58 sizer12 = wx.FlexGridSizer(rows=5, cols=2, gap=(20, 0)) 59 s_text_14 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.ALIGN_CENTER) 60 reload_text = wx.TextCtrl(panel01, wx.ID_ANY, style=wx.TE_CENTER) 61 s_text_15 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.ALIGN_CENTER) 62 restock_text = wx.TextCtrl(panel01, wx.ID_ANY, style=wx.TE_CENTER) 63 s_text_16 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.ALIGN_CENTER) 64 cartin_text = wx.TextCtrl(panel01, wx.ID_ANY, style=wx.TE_CENTER) 65 s_text_17 = wx.StaticText(panel01, wx.ID_ANY, '', style=wx.ALIGN_CENTER) 66 checkout_text = wx.TextCtrl(panel01, wx.ID_ANY, style=wx.TE_CENTER) 67 68 69 font = wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL) 70 reload_text.SetFont(font) 71 restock_text.SetFont(font) 72 cartin_text.SetFont(font) 73 checkout_text.SetFont(font) 74 75 sizer12.Add(s_text_14) 76 sizer12.Add(s_text_15) 77 sizer12.Add(reload_text) 78 sizer12.Add(restock_text) 79 sizer12.Add(s_text_16) 80 sizer12.Add(s_text_17) 81 sizer12.Add(cartin_text) 82 sizer12.Add(checkout_text) 83 84 sizer12.AddGrowableRow(0, 1) 85 sizer12.AddGrowableRow(1, 4) 86 sizer12.AddGrowableRow(2, 1) 87 sizer12.AddGrowableRow(3, 4) 88 89 hbox11.Add(sizer12) 90 91 hbox12 = wx.BoxSizer(wx.HORIZONTAL) 92 93 payment_checkbox = wx.CheckBox(panel01, wx.ID_ANY, '') 94 payment_checkbox.SetValue(True) 95 size_checkbox = wx.CheckBox(panel01, wx.ID_ANY, '') 96 size_checkbox.SetValue(True) 97 98 hbox12.Add(payment_checkbox) 99 hbox12.Add(size_checkbox) 100 101 vbox1.Add(hbox12) 102 103 panel01.SetSizer(vbox1) 104 105 self.Show(True) 106 107app = wx.App() 108frame = MyApp(None, -1, 'Profile') 109app.MainLoop()

投稿2019/09/30 16:03

nomuken

総合スコア1627

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問