Qt学习笔记——样式表、定时器以及界面布局QtPainter和Qt线程

一、样式表

使用类似于HTML中CSS的语法来设置控制的外观,Qt给这种语法取名叫QSS(Qt Style Sheets)。
设计师界面设置:
选中控件->右击->改变样式表(设置图片、背景色等)->确定。

在代码中设置:
从设计师界面复制格式表,在代码中 控件->setStyleSheet 设置控件的样式表。

样式表的覆盖与继承:
每个控件都有默认的样式表,有两个来源,一系统默认,二继承父窗口。
继承:当一个控件没有设置样式表,它会从父窗口继承公共的样式表。
覆盖:控件一旦设置的样式表,会覆盖它默认的样式表。

二、样式表的语法规则

选择器{
    属性设置
}

选择器:指的是针对哪些控件有效。
通配选择器	*	匹配所有控件,相当于不加选择器。
    *{
        属性设置
    }
    
类型选择器	QPushButton	匹配所有QPushButton和其子类的对象
    QPushButton{
        属性设置
    }

属性选择器	QPushButton[flat="flase"]	匹配所有属性flat的值为flase的QPushButton类型对象
    QPushButton[flat="flase"]{
        属性设置
    }
类选择器	.QPushButton	匹配所有QPushButton的对象,但是不匹配其子类的对象。
    .QPushButton{
        属性设置
    }
      
ID选择器	#myBtn	匹配所有ID为myBtn的控件对象,此ID为对象的objectName属性
    #name{
        属性设置
    }

后代选择器	QDialog QPushButton	所有QDialog容器中包含QPush
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt中,定时器线程都是常用的实现异步操作的方法,它们各有优缺点。 定时器的优点: 1. 简单易用:使用QTimer类可以方便地创建和操作定时器,不需要复杂的线程管理代码。 2. 轻量级:定时器不需要创建新的线程,可以在主线程中执行,减少了系统资源的消耗。 3. 稳定性高:定时器的执行周期稳定,不容易出现死锁和资源竞争等问题。 定时器的缺点: 1. 精度较低:定时器的精度受到Qt事件循环的影响,无法保证精确到毫秒级别。 2. 不适用于长时间操作:如果需要执行长时间的操作,定时器会阻塞事件循环,导致界面卡顿。 线程的优点: 1. 可以执行长时间操作:线程可以在后台执行长时间的操作,不会影响界面的响应。 2. 提高程序的并发性:线程可以并发执行多个任务,提高了程序的效率。 3. 稳定性高:线程的执行不会受到Qt事件循环的影响,稳定性较高。 线程的缺点: 1. 管理复杂:线程需要手动创建、启动和停止,需要注意线程同步和资源竞争等问题。 2. 容易出现死锁和资源竞争问题:线程间共享数据时需要进行同步,不注意可能会出现死锁和资源竞争等问题。 综上所述,定时器适用于执行简单的、周期性的操作,而线程适用于执行长时间的、复杂的操作。在选择使用哪种方法时,需要根据具体的需求和实际情况进行选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值