Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wxpython-需要帮助调整GUI吗_Python_Wxpython - Fatal编程技术网

wxpython-需要帮助调整GUI吗

wxpython-需要帮助调整GUI吗,python,wxpython,Python,Wxpython,在一个程序上工作(,文件更长,所以在这里发布它们会占用很多空间)。我的问题是gui\u step\u 1.py的主面板偏离了它应该位于的位置 我已经尝试了很多事情,包括将其添加到一个sizer中以理顺它,但由于我的程序结构(MVC),我无法做到这一点,因为我在gui\u step\u 1.py中实例化了controller,并且controller不继承面板、框架或任何与wx相关的内容(只是一个普通类) 一旦你看到我的程序,我需要的是非常明显的:我需要以窗口为中心的step1(gui\u ste

在一个程序上工作(,文件更长,所以在这里发布它们会占用很多空间)。我的问题是gui\u step\u 1.py的主面板偏离了它应该位于的位置

我已经尝试了很多事情,包括将其添加到一个sizer中以理顺它,但由于我的程序结构(MVC),我无法做到这一点,因为我在gui\u step\u 1.py中实例化了
controller
,并且
controller
不继承面板、框架或任何与wx相关的内容(只是一个普通类)

一旦你看到我的程序,我需要的是非常明显的:我需要以窗口为中心的
step1
(gui\u step1.py中的
controller
实例)


谢谢你的帮助

我没有对所有内容进行排序,但我认为
gui\u step\u 1.py
中的
controller
类中的
self.v.Center()
正在将面板重新定位到其框架内,而不是将框架居中。把它扔掉,事情看起来就正常了。如果要将面板添加到一个sizer中,可能需要从
控制器
类中检索它


不过,界面的问题更多的是设计问题的症状。您的视图框架创建两个不同类的实例,这两个类创建作为框架子级的小部件的实例。尽管您正在尝试使用MVC,但它不应该改变您将小部件添加到框架的方式。

好的,效果很好!那那空白处呢?step1面板偏离中心。再说一次,如果我能把它放在一个浆纱机里会更容易些。基本上,我想要的是它向外扩展,填满整个窗口。老实说,我会重新考虑设计。事实上,您需要做的是通过获取面板对象作为
self.step1.v
,并将其添加到主
视图
框架上的大小调整器中。别忘了把可增长的行/列放回GridBagSizer,这样面板就可以实际扩展了。如果有帮助的话,我可以在答案中添加一个例子,但这只是一个更大问题的解决方法。我会进行重新设计(因为我在不断学习,所以任何可能帮助我指出正确方向的东西都可以),但我想保留的是MVC模式,除非有更好的方法(我也很喜欢pubsub,我也很想实现它)。但实际上,任何建议都是公开的!所以建议吧,如果你能给我指出一个在这方面有帮助的资源(网站或书籍),让我知道。搜索[mvc]在programmers.stackexchange.com上标记此处和,或者开始一个关于如何将MVC应用于您尝试创建的内容的新问题。这是一个完全不同的主题。我在上面的回答中添加了一些解释。