首页| 论坛| 消息

回复: Qt 开发自定义圆角窗体支持深色浅色切换
#6 回 ysu533 的帖子 [boylebao 04-02 10:47]
ysu533:移动和setmask没关系,我指的是开启hidpi支持后,跨屏操作。如果没开hidpi,也没有多屏(且需要缩放系数不一样)当然没问题啊。 您这样实现,加入我左上叫的图标在布局里面是靠近最左上位置的(即距离左上没有任何空隙),那窗体还是圆角吗?如果不是的话,就意味着您这个框架很 .. (2022-04-02 09:41) 
我这里填充的widget是填充到这个圆角窗体的中间部分,首先我这个圆角窗体分三部分:titleBarWidget,centerWidget,bottomWidget。标题栏是不会变的,中间部分可以填充一个widget布局在里面,底部也可以填充,所以填充进去的widget不会破坏圆角窗体
#7 回 boylebao 的帖子 [ysu533 04-02 16:01]
boylebao:我这里填充的widget是填充到这个圆角窗体的中间部分,首先我这个圆角窗体分三部分:titleBarWidget,centerWidget,bottomWidget。标题栏是不会变的,中间部分可以填充一个widget布局在里面,底部也可以填充,所以填充进去的widget不会破坏圆角窗体 (2022-04-02 10:47)
没明白, 能给个编译好的二进制包不。
或者帮忙测试下,加点代码:
auto label = new QLabel(this);// this 为toplevelWidget
label->setFixedSize(40, 40);
label->setStyleSheet("background:red");
label->move(0, 0);
试试这样圆角会不会被这个红色块挡住。
#8 回 ysu533 的帖子 [boylebao 04-02 23:53]
ysu533:没明白, 能给个编译好的二进制包不。
或者帮忙测试下,加点代码:
auto label = new QLabel(this);// this 为toplevelWidget
....... (2022-04-02 16:01) 
我想你这段代码肯定会遮挡圆角的,如果label的父类是圆角,你又把它移动到0,0位置,就是移动到父类的0,0位置,那肯定会挡的,要么你把label也设置同样的圆角
#9 回 boylebao 的帖子 [ysu533 04-05 09:08]
boylebao:我想你这段代码肯定会遮挡圆角的,如果label的父类是圆角,你又把它移动到0,0位置,就是移动到父类的0,0位置,那肯定会挡的,要么你把label也设置同样的圆角 (2022-04-02 23:53) 
嗯嗯,所以这个方案不适合太复杂的UI。而且上面如果是浏览器或视频的话,又可能有别的问题。setMask 可以避免这个问题。

<< 1 2 >> (2/2)

回复 发表
主题 版块