请理解,我从来没有写过复杂的代码,所以我的问题可能不合适。
如图所示的层次结构,我使用wxFormBuilder为包含八个wxScrolledWindows的笔记本制作了代码(Frame.py)。代码如下。
import wx
import wx.xrc
import wx.grid
...
class MyFrame(wx.Frmae):
def __init__(self.parent):
lines with wxScrolledWindow1
lines with wxScrolledWindow2
lines with wxScrolledWindow3
..
lines with wxScrolledWindow8
def button1(self.event):
def ...
class frmProblem (wx.Dialog):
...
在这里,我想分别编写处理每个wxScrolledWindow的代码,这样我就不会在一个文件中编写太多代码。 (main.py,window1.py,window2.py,...)但我不确定如何组织文件以及如何将代码链接在一起。每个wxScrolledWindow必须相互交互并从其他窗口获取变量。
我当前的main.py包含处理所有窗口的代码,如下所示。
from Frame import MyFrame1, frmProblem
import...
class Setting(frmProblem):
def __init__(self. parent):
...
def button1_click(self, event):
...
def button2_click(self, event):
...
class Main(MyFrame1):
def __init__(self, parent):
code for wxScrolledWindow1
code for wxScrolledWindow2
code for wxScrolledWindow3
...
code for wxScrolledWindow8
...
def wxScrolledWindow1_button1(self, event):
...
def wxScrolledWindow1_func1(arg):
...
def wxScrolledWindow1_func2(arg):
...
def wxScrolledWindow2_button1(self, event):
...
def wxScrolledWindow2_func1(arg):
...
def wxScrolledWindow2_func2(arg):
...
...
def wxScrolledWindow8_button1(self, event):
...
def wxScrolledWindow8_func1(arg):
...
def wxScrolledWindow8_func2(arg):
...
任何建议都会帮助我解决这个问题。 =)
在ChatGPT的帮助下,我解决了这个问题。
对于 main.py,我包含每个滚动窗口文件
import wx
from myclass1 import myclass1
from myclass2 import myclass2
...
class MyFrame(wx.Frame):
def __init__(self, parent, id.ID_ANY, ...)
super(MyFrame, self).__init__(parent, id, title, pose, size, style)
notebook = wx.Notebook(self)
Class1 = myclass1(notebook)
Class2 = myclass2(notebook)
...
notebook.AddPage(Class1, 'Page1')
notebook.AddPage(Class2, 'Page2')
notebook.AddPage(Class3, 'Page3')
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(notebook, 1, wx.EXPAND)
self.SetSizer(sizer)
self.Show()
app = wx.App()
frame = MyFrame(None, title='My Notebook example')
app.MainLoop()
然后我为每个页面编写py文件。
import wx
class myclass1(wx.ScrolledwWindow):
def __init__(self, parent):
super(myclass1, self).__init__(parent)
...
如今,LLM对我帮助很大=)