如何让控件的位置随着窗口大小的改变而改变?

时间:2023-01-13 03:48:41
比如一个窗口不在最大化的时候,一个pushButton在窗口的最右下角,现在把窗口最大化,pushButton就不在窗口的右下角了。我希望pushButton还在右下角,请问怎么实现?
把窗口最大化会产生什么事件吗?

11 个解决方案

#1


窗体的ReSize事件

#2


使用layout,窗体布局,这样怎么变窗体大小都不怕了

#3


引用 2 楼 microsky2813 的回复:
使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

#4


引用 3 楼 fish_of_deadsea 的回复:
引用 2 楼 microsky2813 的回复:

使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。

不知道你是不是想问这些?
打字好累

#5


引用 4 楼 microsky2813 的回复:
引用 3 楼 fish_of_deadsea 的回复:
引用 2 楼 microsky2813 的回复:

使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,然后再往GridLayout里面……
我用designer拖一个Gridlayout进入窗口,然后将gridlayout和真个窗体连在一起,然后往里拖pushButton,但是按键的宽度是撑满整个gridlayout的,没有办法将gridlayout和按钮的宽度调整,怎么解决啊

#6


使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。

有几个因素供参考:

1.大小提示(size hint)和最小大小提示(minimum size hint)
2.大小策略(size policy)
3.伸缩因子(stretch factor)
4.大小约束(size constraint)
5.空白(margin)和间距(spacing)


还有,对于布局而言,对于一个窗口,要达到你说的那个基本目标,首要的就是要设置*布局(Top Level Layout)。

#7


引用 5 楼 fish_of_deadsea 的回复:
引用 4 楼 microsky2813 的回复:

引用 3 楼 fish_of_deadsea 的回复:
引用 2 楼 microsky2813 的回复:

使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个……

你再多加几个就自动调好了,一个控件时是充满,两个以上就有效果了,不同布局嵌入使用又能更实用些

#8


明白了哈

#9


gh

#10


c#中如何这样布局,呢?

#11


C#如何实现呢?

#1


窗体的ReSize事件

#2


使用layout,窗体布局,这样怎么变窗体大小都不怕了

#3


引用 2 楼 microsky2813 的回复:
使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

#4


引用 3 楼 fish_of_deadsea 的回复:
引用 2 楼 microsky2813 的回复:

使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。

不知道你是不是想问这些?
打字好累

#5


引用 4 楼 microsky2813 的回复:
引用 3 楼 fish_of_deadsea 的回复:
引用 2 楼 microsky2813 的回复:

使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,然后再往GridLayout里面……
我用designer拖一个Gridlayout进入窗口,然后将gridlayout和真个窗体连在一起,然后往里拖pushButton,但是按键的宽度是撑满整个gridlayout的,没有办法将gridlayout和按钮的宽度调整,怎么解决啊

#6


使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。

有几个因素供参考:

1.大小提示(size hint)和最小大小提示(minimum size hint)
2.大小策略(size policy)
3.伸缩因子(stretch factor)
4.大小约束(size constraint)
5.空白(margin)和间距(spacing)


还有,对于布局而言,对于一个窗口,要达到你说的那个基本目标,首要的就是要设置*布局(Top Level Layout)。

#7


引用 5 楼 fish_of_deadsea 的回复:
引用 4 楼 microsky2813 的回复:

引用 3 楼 fish_of_deadsea 的回复:
引用 2 楼 microsky2813 的回复:

使用layout,窗体布局,这样怎么变窗体大小都不怕了
能否讲的详细点 怎么用layout?是和整个窗体?

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个……

你再多加几个就自动调好了,一个控件时是充满,两个以上就有效果了,不同布局嵌入使用又能更实用些

#8


明白了哈

#9


gh

#10


c#中如何这样布局,呢?

#11


C#如何实现呢?