Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
qt不可扩展布局?_Qt_Layout_Button_Size_Expandable - Fatal编程技术网

qt不可扩展布局?

qt不可扩展布局?,qt,layout,button,size,expandable,Qt,Layout,Button,Size,Expandable,好的,这是我的问题: 我有一个垂直布局,其中包含一个QPlainTextEdit和一个水平布局(包含2个QpushButton),位于文本编辑下方 垂直布局只是GUI的一部分,并根据屏幕分辨率调整大小。顺便说一句,这是一个移动应用程序,所以我在屏幕上没有太多空间 按钮有一些动态设置的文本,我从一开始就不知道如何手动编码 当按钮中的文本很大,并且我的整个垂直布局被扩展以适合按钮时,就会出现问题 如何使垂直布局不可扩展?注意,这与“固定”不同,因为屏幕资源不同。 我只想剪辑按钮,如果他们不适合,但保

好的,这是我的问题:

我有一个垂直布局,其中包含一个QPlainTextEdit和一个水平布局(包含2个QpushButton),位于文本编辑下方

垂直布局只是GUI的一部分,并根据屏幕分辨率调整大小。顺便说一句,这是一个移动应用程序,所以我在屏幕上没有太多空间

按钮有一些动态设置的文本,我从一开始就不知道如何手动编码

当按钮中的文本很大,并且我的整个垂直布局被扩展以适合按钮时,就会出现问题

如何使垂直布局不可扩展?注意,这与“固定”不同,因为屏幕资源不同。 我只想剪辑按钮,如果他们不适合,但保持布局宽度不变


无论如何要做到这一点?

您需要设置按钮的最大宽度,而不是布局,布局只是为了适应更宽的按钮而加宽。检查并查找QWidget继承的函数setMaximumSize或setMaximumWidth。

当按钮的大小合适时,您总是可以在按钮上获取Width(),然后使用该值设置MaximumWidth,因为您通常不知道这一点。选择一个合适的默认文本大小/val,并使用它创建“动态”默认值,因为这是在大小不同的屏幕上进行的。

是的,但最大大小仍然需要固定大小。仅当我检查每次重新绘制并将大小设置为layout.width/2时,为什么不在文本更改后立即调整/重置按钮的最大宽度?无需每次重新绘制时都执行此操作,只需修改文本即可(您无法为此连接到
信号,也无法重新实现非虚拟
QPushButton::setText()
,因此您必须手动执行此操作…)