QT控件通过qss设置子控件的对齐方式、大小自适应等

这篇具有很好参考价值的文章主要介绍了QT控件通过qss设置子控件的对齐方式、大小自适应等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一些复杂控件,是有子控件的,每个子控件,都可以通过qss的双冒号选择器来选中,进行独特的样式定义。很多控件都有子控件,太多了,后面单独写一篇文章来介绍各个控件的子控件。这里就随便来几个例子

例如下拉列表控件,右边有个下拉按钮(QComboBox::drop-down)就是子控件,这个下拉按钮里面还有一个箭头(QComboBox::down-arrow),也是子控件。

展开的下拉列表,每个条目(QAbstractItemView::item)也都是子控件。

又比如spinbox,有个上下箭头可以调整数值大小,这个上下箭头也是子控件。

QT控件通过qss设置子控件的对齐方式、大小自适应等,QT,QT/样式表qss,qt,qss,样式表

下面通过样式表,来调整这个spinbox的上下按钮的位置:

QSpinBox 
{
    border: 1px solid black;
	padding-left:5px;

}

QSpinBox::up-button 
{/*上按钮*/
    subcontrol-origin: border;/*以盒子模型的border区域为坐标系*/
    subcontrol-position: top right;/*位于border的右上角*/
    width: 16px;
    border: 3px solid green;/*绿边框*/
    background-color: red;/*红背景*/
}
QSpinBox::up-arrow 
{/*上按钮中的箭头 最好是用贴图*/
    background-color: white;/*这里图简便,就用白色方块代替了*/
    width: 5px;
    height: 5px;
}

QSpinBox::down-button 
{/*下按钮*/
    subcontrol-origin: border;
    subcontrol-position: left;/*border坐标系的左边*/
    width: 16px;
    border-image: url(:/images/spindown.png) 1;
    border: 3px solid blue;/*绿边框*/
	background-color: green;
}

 以上代码效果如下:

QT控件通过qss设置子控件的对齐方式、大小自适应等,QT,QT/样式表qss,qt,qss,样式表

如果想让上下按钮的高度自适应QSpinBox的高度怎么办?

答:需要一些简单的基础知识,定义位置需要知道坐标系和坐标,而坐标又分为绝对和相对(默认)。坐标值的定义比较直观,形如:left: 5px; right:1em; top:10pt;  bottom:20%; 上下左右都可以指定,但是注意,不要写出矛盾的语句。

下面我们看一下,在相对坐标系和绝对坐标系下,设置同样的坐标,效果有何区别:


QSpinBox::up-button 
{/*上按钮*/
    subcontrol-origin: border;/*以盒子模型的border区域为坐标系*/
    subcontrol-position: top right;/*位于border的右上角*/   
    border: 3px solid green;/*绿边框*/
    background-color: red;/*红背景*/
	width:20px;
	position:absolute;/*绝对坐标*/
	bottom:5px;/*距离坐标系底部5px*/
}

QT控件通过qss设置子控件的对齐方式、大小自适应等,QT,QT/样式表qss,qt,qss,样式表 QT控件通过qss设置子控件的对齐方式、大小自适应等,QT,QT/样式表qss,qt,qss,样式表

 以上左图是基于原先位置上移了5px,而右图是让按钮距离border底部5px(以为我们已经设置了以border为参考系)。 

理解了坐标系*(参考系)的概念,把红绿两个子控件的高度自适应QSpinBox的高度就简单了:

QSpinBox::down-button 
{/*下按钮*/
    subcontrol-origin: border;
    subcontrol-position: left;/*border坐标系的左边*/
    border-image: url(:/images/spindown.png) 1;
    border: 3px solid blue;/*绿边框*/
	background-color: green;
	width:20px;
	position:absolute;/*绝对参考系*/
	bottom:0px;/*距离坐标系底5px*/
}
QSpinBox::down-arrow 
{/*下按钮中的箭头*/
    background-color: white;
    width: 13px;/*用白色直线来绘制减号*/
    height: 3px;
}

QT控件通过qss设置子控件的对齐方式、大小自适应等,QT,QT/样式表qss,qt,qss,样式表

 文章来源地址https://www.toymoban.com/news/detail-615360.html

 

 

 

到了这里,关于QT控件通过qss设置子控件的对齐方式、大小自适应等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • qt 系列(二)---qt designer通过设置控件样式表进行背景颜色设置

    qt 系列(二)---qt designer通过设置控件样式表进行背景颜色设置

    1. 前言 一般Layouts不可以进行改变样式表,当我们想修改背景样式表,同时又不改变其他控件的颜色时,可以选择List View 控件改变背景颜色。 2. 设置背景 (1)配置 .qrc 文件 新建mypicture.qrc文件,记事本打开 (2)右键选择项目–添加–现有项,选择建立的.qrc文件,此时,项

    2024年02月06日
    浏览(32)
  • QT通过styleSheet样式表设置按钮背景图片自适应大小

    QT通过styleSheet样式表设置按钮背景图片自适应大小

    默认按钮效果   鼠标移动到按钮上的效果     鼠标按住不放的效果      1.添加背景图片资源

    2024年02月11日
    浏览(31)
  • WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox

    WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox

    一.前言 申明 :WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。 本文主要内容: 自定义Window窗体样式; 基于自定义窗体实现自定义MessageBox消息

    2024年02月05日
    浏览(16)
  • qt设置控件的风格样式

    设置tablewidget 设置表头样式 设置Lineedit样式 设置GroupBox样式 设置CheckBox的样式 设置PushButton的样式 设置RadioButton的样式 设置ComboBox的样式 设置Label的样式

    2024年02月14日
    浏览(7)
  • 要在HTML中让文字居中,可以使用CSS样式来设置文本的对齐方式

    以下是几种常见的居中文本的方法: 1. 使用 `text-align: center;` CSS样式:    这个方法适用于将文本居中对齐在其父元素内。可以将 `text-align: center;` 应用于父元素,这将使其内部的所有文本内容都居中对齐。    示例代码:    ```html    style       .container {         text-align

    2024年02月16日
    浏览(9)
  • Winform中实现窗体控件适配(自适应窗体)布局_通过C#代码方式

    Winform中实现窗体控件适配(自适应窗体)布局_通过C#代码方式

    即:未启用控件缩放效果代码时,控件内容都是固定在窗体界面的指定位置,不会跟随窗体的拉伸,放大而进行适配,如下图所示: 即:启用控件缩放效果代码时,控件内容会跟随窗体的拉伸,放大而进行适配,如下图所示: 实现思路是: ①在窗体初始化时先获取窗体的宽

    2023年04月17日
    浏览(10)
  • 【QT】一 设置布局后,控件大小会自动变化,如何设置想要的

    【QT】一 设置布局后,控件大小会自动变化,如何设置想要的

    目录 1. 设置好控件大小 2. 设置布局  3. 设置layout  给一个QWidget控件内部设置布局后,原来内部的控件大小变小了,如何解决?           把最小值设置好。         选择整体,选择布局方式,这里为水平布局。 你会发现,可能显示不全。 选择整体,属性拉到最下面,

    2024年02月11日
    浏览(80)
  • Qt样式表Qss

    Qt样式表Qss

    Qss是Qt程序界面中用来设置控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性 它是用来美化UI界面。实现界面和程序的分离,快速切换皮肤。 学习视频 选择器 {属性 : 值} 属性是不区分大小写的 情况1:单个选择器 情况2:多个选择器 情况3:选择器由多个属

    2024年02月13日
    浏览(9)
  • 01_1_Qt工程实践_Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)

    01_1_Qt工程实践_Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)

    本篇介绍什么是样式表,讨论如何使用Qt样式表Qss修改应用程序外观,并通过实例进行讲解。 了解HTML的同学都知道,一般在HTML中我们把样式表叫做CSS,在Qt中我们称之为QSS。QSS和CSS并不完全等同,语法完全类似,定义上存在一些差别。 QSS是Qt程序界面中用来设置控件的背景图

    2024年02月16日
    浏览(9)
  • 【Qt笔记】QSS中常用的子控件

    子控件名称 说明 ::branch QTreeView的分支指示器 ::chunk QProgressBar的进度显示块 ::close-button QDockWidgte或QTabBar页面的关闭按钮 ::down-arrow QComboBox、QHeaderView(排序指示器)、QScrollBar或QSpinBox的下拉箭头 ::down-button QScrollBar或QSpinBox的向下按钮 ::float-button QComboBox的下拉按钮 ::groove QSlider的凹

    2024年02月21日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包