0
我在Windows 8操作系統上使用wxPython v3.0和python v2.7。代碼如下。在wxPython中避免面板兩側的空白空間
問題:如果你完全滾動垂直滾動條底部,完全滾動水平滾動條的右側,那麼你應在面板的底部和的右側看到空的空間如下圖所示。如何避免這種情況?這是默認行爲還是我做錯了什麼?如果有人可以在他/她的系統上進行測試並確認這是否爲正常行爲,那將會很棒。
代碼:
import wx
import wx.lib.scrolledpanel
class GUI(wx.Frame):
def __init__(self, parent, id, title):
screenWidth = 700
screenHeight = 400
screenSize = (screenWidth, screenHeight)
wx.Frame.__init__(self, None, id, title, size=screenSize)
myFont = wx.Font(15, wx.MODERN, wx.NORMAL, wx.BOLD)
mainSizer = wx.BoxSizer(wx.VERTICAL)
panelsSizer = wx.BoxSizer(wx.HORIZONTAL)
sizer1 = wx.BoxSizer(wx.VERTICAL)
sizer2 = wx.BoxSizer(wx.VERTICAL)
mainPanel = wx.lib.scrolledpanel.ScrolledPanel(self, -1,style=wx.SIMPLE_BORDER)
mainPanel.SetupScrolling()
panel1 = wx.lib.scrolledpanel.ScrolledPanel(mainPanel, -1, style=wx.SIMPLE_BORDER)
panel1.SetupScrolling(scroll_y=False)
panel2 = wx.lib.scrolledpanel.ScrolledPanel(mainPanel, -1, style=wx.SIMPLE_BORDER)
panel1.SetBackgroundColour('#cccFFF')
panel2.SetBackgroundColour('#FFFaaa')
panelsSizer.Add(panel1, 1, wx.ALL|wx.EXPAND)
panelsSizer.Add(panel2, 2, wx.ALL|wx.EXPAND)
mainPanel.SetSizer(panelsSizer)
k = 0
#Populating the panel-1 with panels to show scroll bars
for i in range(1,20):
lPanels = 'lPanel'+str(k)
lPanels = wx.Panel(panel1)
label0 = str(k+1)+ '. '+'Panel-1 #############################'
text0 = wx.StaticText(lPanels, -1, label0)
text0.SetFont(myFont)
sizer1.Add(lPanels, 0, wx.ALL|wx.EXPAND, 5)
sizer1.Add(wx.StaticLine(panel1), 0, wx.ALL|wx.EXPAND, 0)
k += 1
k = 0
#Populating the panel-2 with panels to show the scroll bars
for i in range(1,20):
sPanel ='sPanel' +str(k)
sPanel = wx.Panel(panel2)
label = str(k)+ '. Panel-2#############################'
text = wx.StaticText(sPanel, -1, label)
text.SetFont(myFont)
sizer2.Add(sPanel, 0, wx.ALL|wx.EXPAND, 5)
sizer2.Add(wx.StaticLine(panel2), 0, wx.ALL|wx.EXPAND, 0)
k += 1
panel1.SetSizer(sizer1)
panel2.SetSizer(sizer2)
mainSizer.Add(mainPanel, 15, wx.EXPAND|wx.ALL)
self.SetSizer(mainSizer)
if __name__=='__main__':
app = wx.App()
frame = GUI(parent=None, id=-1, title="Test")
frame.Show()
app.MainLoop()
謝謝您的時間!
非常感謝wxPython先生。如果你能看看我的這個問題,我將不勝感激。 :) https://stackoverflow.com/questions/22849216/transparent-panel-doesnt-updates-its-background-after-being-moved-dragged-in-wx –