当我在wxPython弹出窗口中放置一个组合框时,下拉功能不起作用。你知道吗
我的示例代码是这样的。你知道吗
import wx
class TestPopup(wx.PopupWindow):
def __init__(self, parent):
"""Constructor"""
wx.PopupWindow.__init__(self, parent = parent)
self.popUp = wx.Panel(self, size = (200,200))
self.popUp.SetBackgroundColour("white")
self.st = wx.StaticText(self.popUp, -1, " Select Comport", pos=(10,10))
self.selCom = wx.ComboBox(self.popUp, -1, pos=(85, 50), choices=["Com1", "Com2"])
self.mySizer = wx.BoxSizer(wx.VERTICAL)
self.mySizer.Add(self.popUp)
self.SetSizerAndFit(self.mySizer)
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent = None, title= "ComboBox Test", size = (300,200))
self.panel = wx.Panel(self)
self.selComButton = wx.Button(self.panel, -1, "Select Comport")
self.selComButton.Bind(wx.EVT_BUTTON, self.selectPopUp)
self.selCom = wx.ComboBox(self.panel, -1, pos = (85, 50),choices=["Com1", "Com2"])
def selectPopUp(self, event):
win = TestPopup(self.GetTopLevelParent())
btn = event.GetEventObject()
pos = btn.ClientToScreen((0, 0))
sz = btn.GetSize()
win.Position(pos, (0, sz[1]))
win.Show(True)
if __name__ == "__main__":
app = wx.App()
frame = MainFrame()
frame.Show()
app.MainLoop()
在代码中,主框架中的组合框运行良好。但是,在弹出窗口中,单击“选择组件”按钮时显示,组合框不起作用。你知道吗
这个怎么了?你知道吗
效果很好。你知道吗
它不起作用。你知道吗
在Linux下,ComboBox肯定是在弹出窗口中工作的,因此很难直接解决您的问题。不过,我建议,在这种情况下,如果您使用
Dialog
而不是PopUpWindow
,您可能会得到更好的服务,因为它会为您带来繁重的负担。例如:
相关问题 更多 >
编程相关推荐