gpt4 book ai didi

wxpython - 如何通过单击按钮在 wxpython 中创建附加窗口

转载 作者:行者123 更新时间:2023-12-02 22:14:15 29 4
gpt4 key购买 nike

我需要通过单击按钮在 wxpython 中创建一个额外的新窗口(与主窗口在物理上是分开的)。我想在不关闭最后一个窗口的情况下执行此操作。

这是我到目前为止所拥有的:

class Prototype(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, None, size=(1240,705))
self.UI()
self.Centre()
self.Show()

def UI(self):
self.panel1 = wx.Panel(self, -1)
self.sizer = wx.BoxSizer()
self.sizer.Add(self.panel1, 1, flag=wx.EXPAND)
b = wx.Button(self.panel1, label='second window', size=(180,100), pos=(650,25))
b.Bind(wx.EVT_BUTTON, self.OnB)

self.panel2 = wx.Panel(self, -1)
self.sizer.Add(self.panel2,1,flag=wx.EXPAND)
self.panel2.Hide()
self.panel2.SetSizer(self.vbox)
self.SetSizer(self.sizer)

def OnB(self, event):
self.panel2.Show()
self.sizer.Layout()

app = wx.App()
Prototype(None, title='')
app.MainLoop()

最佳答案

这是一个工作示例:

 import wx

########################################################################
class SecondFrame(wx.Frame):
""""""

#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, title="Second Frame")
panel = wx.Panel(self)
txt = wx.StaticText(panel, label="I'm the second frame!")

########################################################################
class Prototype(wx.Frame):

#----------------------------------------------------------------------
def __init__(self, parent, title):
wx.Frame.__init__(self, None, title="First Frame", size=(1240,705))
self.UI()
self.Centre()
self.Show()

#----------------------------------------------------------------------
def UI(self):
self.panel1 = wx.Panel(self, -1)
self.sizer = wx.BoxSizer()
self.sizer.Add(self.panel1, 1, flag=wx.EXPAND)
b = wx.Button(self.panel1, label='second window', size=(180,100), pos=(650,25))
b.Bind(wx.EVT_BUTTON, self.OnB)

self.SetSizer(self.sizer)

#----------------------------------------------------------------------
def OnB(self, event):
frame = SecondFrame()
frame.Show()

#----------------------------------------------------------------------
app = wx.App(False)
Prototype(None, title='')
app.MainLoop()

不过,我真的不建议混合调整大小和绝对定位。您应该使用其中之一。我建议使用调整器,除非您打算制作无法调整大小的框架。

关于wxpython - 如何通过单击按钮在 wxpython 中创建附加窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15070651/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com