Qt设置样式经验总结

1、QT new新控件的时候最好指定parent,因为涉及到样式的继承,如果不指定parent或指定错误的parent,很可能出现很费解的情况,而且原因很隐蔽。比如QFrame的pos(),指示的是parent的位置,比如move()是在parent上Move的,有一次遇到这种情况,外层一个背景widget0,中间一个内容widget1,widget1的parent是widget0,原本的意思是widget1有几个QLabel,使用move()确定label的位置,没注意把label的parent设成了widget0,结果label一直在widget1下面显示不出来,被widget1遮挡。

2、setAttribute(Qt::WA_TranslucentBackground, true);窗口整体透明,但是窗体上的控件不透明。

setWindowOpacity(0.7):窗口及控件都半透明。

3、如果一个一般窗口(非顶层窗口)还有子窗口,那最好不要使用setStyleSheet()来设置其背景颜色,因为虽然此时该窗口的背景设置是生效的,但是其子窗口的背景设置也变得局限唯一,只能使用setStyleSheet,而不能使用其它方法! 

     说白了就是:不要再MainWindow中使用setStyleSheet()!

4、margin与padding区别:

margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离。在CSS中padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离

5、layout可以使用 setspacing设置控件之间的间隔。gridlayout使用 setverticalspacing或者sethorizontalspacing 来设置
layout通过使用setcontentmargins来设置四周留白的间隔。
部分 Widget 可以通过setcontentmargins来设置四周留白的间隔。setcontentmargins主要是为layout设计使用的。不是所有的Widget都可以使用,有部分是可以的比如Label这一类,具体是否有用要看这个控件的具体实现。比如comboBox就是不可以的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COSummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值