PYQT5|编程经验|爬坑|分享|1|实现控件与窗口自适应效果

一般我们创建PYQT5窗口的时候,都是使用绝对布局的,如果点击最大化按钮时,我们就会发现,窗口拉伸了,但是相应的控件的位置并没有按照比例进行拉伸,看起来非常不美观。

举个例子:

1.我们先随机创建一个窗口;

2.当我们预览时,界面看起来还没有太大的问题;

 

 3.然后我们点击最大化窗口;

4.可以看到,只有主窗体被拉伸了,界面上的编辑框和Tab页还是原来的大小,这样看起来,视觉效果就不是很好。很多新手学习者,可能都会出现这样的问题。很多时候,我们会选择把窗口固定起来,不允许最大化和拉伸。但是这只是治标不治本,没有从根本上解决问题。我很长一段时间也是这么做的。后来,机缘巧合之下,我看到了解决问题的思路,即使是窗体已经有很多控件存在了,我们还是可以挽回的,而不用重新去构建窗体,后面我会讲如何去挽救已存在的复杂界面的自适应窗体。

 已存在的控件,自适应窗体的解决办法

1.先把现有控件的容器控件尽可能的缩小,以下图为例;

 2.创建一个Widget控件,作为主要的控件,如下图;

3.同样的方法,再创建两个Widget控件;

4.把原来的控件拖到对应的位置;

 5.最重要的一步来了,选择主窗体垂直布局;

 6.点击完成后,你可能会发现,窗体上的控件全都不见了,别慌,它们只是被缩小了而已,重新把它们拉大即可,拉到与主窗口同样的大小。

 

7.详细操作步骤如下:

8.上面的操作,编辑框已经可以自适应了,但是Tab还没有自适应,关键的一步:

9.最终效果如下:

10.虽然界面有点丑,但是基本的效果还是实现了,大家可以参照此方法进行操作,有什么不懂的地方,可以在评论区进行提问,我有时间就会进行解答; 

猜你喜欢

转载自blog.csdn.net/zh6526157/article/details/120084833