QT的Qlabel显示的 问题

时间:2021-10-21 22:44:15
假如在一个QDialog中左边是一个QTreeWidget右边添加一个Qwidget空间,QWidget里面放4个QLabel,用GridLayout布局平分,现在实现双击某一个label,其余3个label隐藏,而只有一个label出现并且填充满整个Qwidget,怎么实现这个label填充满widget的过程?

9 个解决方案

#1


resizeEvent实时算

#2


引用 1 楼 u013466477 的回复:
resizeEvent实时算

先道声谢!我试试

#3


QSizePolicy

#4


用了布局的话,其他三个隐藏,另外一个会自动填充啊

#5


引用 4 楼 caoshangpa 的回复:
用了布局的话,其他三个隐藏,另外一个会自动填充啊

这才是正解啊!!!

一楼不懂不要瞎说,请问哪个控件的哪个事件触发了哪个控件的resizeEvent??
在楼主描述的整个流程中只有一个action就是双击!!
请问双击能触发resizeEvent??

不要在这里骗分!!

#6


估计楼主是要实现这种效果,视频监控里面的双击最大化,再次双击还原!
QT的Qlabel显示的 问题

#7


引用 6 楼 feiyangqingyun 的回复:
估计楼主是要实现这种效果,视频监控里面的双击最大化,再次双击还原!
QT的Qlabel显示的 问题

首先,多谢刘典武大师回复此贴!
对于我的问题,刘大师说的对的,确实是这方面的问题,双击最大化,再次双击恢复原样。
目前,想了解的是:
1:双击label1,要显示label1全屏,要是双击label2要显示label2全屏,怎么区分这些label?
2:要的是填充满布局后比如说label1的全部,所以不希望直接给出宽与高,给死的宽高估计会有影响。
对于这2个问题,不知刘大师能否不吝赐教?

#8


引用 5 楼 firerun 的回复:
Quote: 引用 4 楼 caoshangpa 的回复:

用了布局的话,其他三个隐藏,另外一个会自动填充啊

这才是正解啊!!!

一楼不懂不要瞎说,请问哪个控件的哪个事件触发了哪个控件的resizeEvent??
在楼主描述的整个流程中只有一个action就是双击!!
请问双击能触发resizeEvent??

不要在这里骗分!!

谢谢大家来给出回复!有解决方案,我也第一时间做出共享!谢谢

#9


引用 4 楼 caoshangpa 的回复:
用了布局的话,其他三个隐藏,另外一个会自动填充啊

首先谢谢您的回复
这个确实,但是填充满却不行
 QPixmap pixmap = QPixmap::fromImage(image.scaled(w,h));//保持长宽比
 ui->labelView1->setPixmap(pixmap);
关键是上述方法如何及时获取对应label在布局后产生宽高。

#1


resizeEvent实时算

#2


引用 1 楼 u013466477 的回复:
resizeEvent实时算

先道声谢!我试试

#3


QSizePolicy

#4


用了布局的话,其他三个隐藏,另外一个会自动填充啊

#5


引用 4 楼 caoshangpa 的回复:
用了布局的话,其他三个隐藏,另外一个会自动填充啊

这才是正解啊!!!

一楼不懂不要瞎说,请问哪个控件的哪个事件触发了哪个控件的resizeEvent??
在楼主描述的整个流程中只有一个action就是双击!!
请问双击能触发resizeEvent??

不要在这里骗分!!

#6


估计楼主是要实现这种效果,视频监控里面的双击最大化,再次双击还原!
QT的Qlabel显示的 问题

#7


引用 6 楼 feiyangqingyun 的回复:
估计楼主是要实现这种效果,视频监控里面的双击最大化,再次双击还原!
QT的Qlabel显示的 问题

首先,多谢刘典武大师回复此贴!
对于我的问题,刘大师说的对的,确实是这方面的问题,双击最大化,再次双击恢复原样。
目前,想了解的是:
1:双击label1,要显示label1全屏,要是双击label2要显示label2全屏,怎么区分这些label?
2:要的是填充满布局后比如说label1的全部,所以不希望直接给出宽与高,给死的宽高估计会有影响。
对于这2个问题,不知刘大师能否不吝赐教?

#8


引用 5 楼 firerun 的回复:
Quote: 引用 4 楼 caoshangpa 的回复:

用了布局的话,其他三个隐藏,另外一个会自动填充啊

这才是正解啊!!!

一楼不懂不要瞎说,请问哪个控件的哪个事件触发了哪个控件的resizeEvent??
在楼主描述的整个流程中只有一个action就是双击!!
请问双击能触发resizeEvent??

不要在这里骗分!!

谢谢大家来给出回复!有解决方案,我也第一时间做出共享!谢谢

#9


引用 4 楼 caoshangpa 的回复:
用了布局的话,其他三个隐藏,另外一个会自动填充啊

首先谢谢您的回复
这个确实,但是填充满却不行
 QPixmap pixmap = QPixmap::fromImage(image.scaled(w,h));//保持长宽比
 ui->labelView1->setPixmap(pixmap);
关键是上述方法如何及时获取对应label在布局后产生宽高。