Qt UI样式(控件样式)

其他博主博客

QT样式入门指南A

注意

样式不起作用

1、将样式设置,放到初始化的最后位置,或许有奇效

控件样式


background 背景属性

//背景色透明
background:transparent;
//背景颜色
background-color:rgba(92,188,227,200)
background-color:#1B89A1
background:rgba(0,0,0,0%);
//指定背景颜色
background:gray;
background-color:white;
//背景渐变色
background:qlineargradient(x1: 0, y1: 0,    x2: 0, y2: 1,    stop: 0 #66e, stop: 1 #fd3e7f);
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);

border 边界线属性

//去除边界线
border:none;
//边框圆角
border-radius:5px;
//边界线:宽度、颜色
border:5px solid #ff0000;
//虚线
border:1px dotted #242424;
 /*上框线*/
border-top : 1px solid #6699cc;
 /*下框线*/
border-bottom : 1px solid #6699cc;
/*左框线*/
border-left : 1px solid #6699cc;
/*右框线*/
border-right : 1px solid #6699cc;
//边界线:未知作用
border-width:0px;
//
border-top-left-radius:12px;

padding 间隙

padding-left:6px;
padding-right:6px;
//补白
padding:top right bottom left
//修改按钮文本位置
padding-left: 8px;

margin 间隙

//边界留白:listWidgetItem变小 listwidget变小
margin:top right bottom left
margin-bottom:-1px

显示图像


//设置图片,图片不会失真,大小和控制一致
border-image:url(:/resource/1.png);
//
background-image: url();
//图片,不重复
background-repeat: no-repeat;

点击效果


QPushButton:enabled:checked{
}
QPushButton:enabled:!checked{
}
QPushButton:!enabled{
}

QCheckBox:!enabled{}

QCheckBox:enabled:hover{}

QCheckBox::indicator{}

QCheckBox::indicator:unchecked {}

QCheckBox::indicator:unchecked:hover {}

QCheckBox::indicator:unchecked:pressed {}

QCheckBox::indicator:checked {}

QCheckBox::indicator:checked:hover {}

QCheckBox::indicator:checked:pressed {}

eg1

文本


//文字颜色
color:white;
//渐变色
color: qlineargradient(x1: 0, y1: 0,    x2: 0, y2: 1,    stop: 0 #66e, stop: 1 #fd3e7f);
text-align:right; /*文字右对齐*/
text-align:left; /*文字左对齐*/
text-align:center; /*文字居中对齐*/
text-align:justify; /*文字分散对齐*/
vertical-align属性
vertical-align:top; /*垂直向上对齐*/
vertical-align:bottom; /*垂直向下对齐*/
vertical-align:middle; /*垂直居中对齐*/
vertical-align:text-top; /*文字垂直向上对齐*/
vertical-align:text-bottom; /*文字垂直向下对齐*/

QListWidget

//透明
QListWidget{background:transparent;border:none;}
QListWidget::Item{background: transparent;}
//
QListWidget{}
QListWidget::Item{background:transparent;}
QListWidget::Item:hover{}
QListWidget::Item:selected{}
QListWidget::Item:selected:!active{}
QWidget#ListWidgetItem{};     /*指定对象设计样式*/
//去掉虚线框,未测试
QListWidget#listWidget{outline:0px;}

QTableWidget

QTableWidget{}
//网格线颜色
gridline-color: #6699CC;

QTableWidget::Item

QTableWidget::item{}
//覆盖
QTableWidget::item:hover{}
//选中
QTableWidget::item:selected{}

QScrollBar

//
QScrollBar{}
QScrollBar::handle{}
//
QScrollBar::vertical{}
//垂直滑块的样式
QScrollBar::handle:vertical{}
QScrollBar::handle:hover{}
QScrollBar::handle:pressed{}
QScrollBar::suinb-le{}
QScrollBar::add-line{}

eg1:QScrollBar滚动条-综合属性

    //样式:QTableWidget::QScrollBar::horizontal
    strStyle += R"(
QScrollArea{
border: 0px solid;
border-right-width: 1px;
border-right-color: #dcdbdc;
background-color: #f5f5f7;
}
QScrollBar:horizontal {
background: transparent;
height: 20px;
}
QScrollBar::handle:horizontal {
background:rgba(51, 106, 168, 200);
min-width: 130px;
border-radius:8px;
}
QScrollBar::add-line:horizontal {
border: 0px solid grey;
background: #32CC99;
height: 0px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal {
border: 0px solid grey;
background: #32CC99;
height: 0px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
background: none;
width: 0px;
height: 0px;
    border:2px solid #242424;
}
)";

eg2:QScrollBar滚动条-属性分支

    //样式:QTableWidget::QScrollBar::vertical
    strStyle += R"(
QScrollBar:vertical {
background: transparent;
width: 20px;
}
QScrollBar::handle:vertical {
background:rgba(51, 106, 168, 200);
min-height: 130px;
border-radius:8px;
}
)";
    //样式:QTableWidget::QScrollBar::vertical::上下箭头
    strStyle += R"(
QScrollBar::add-line:vertical {
border: 0px solid grey;
background: #32CC99;
height: 0px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
border: 0px solid grey;
background: #32CC99;
height: 0px;
subcontrol-position: top;
subcontrol-origin: margin;
}
)";
    //样式:QTableWidget::QScrollBar::vertical::滑块背景
    strStyle += R"(
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: none;
width: 0px;
height: 0px;
    border:2px solid #242424;
}
)";

QHeaderView 表头

//设置表头属性
QHeaderView::section{}
QHeaderView::section:checked{}

eg1:QHeaderView表头

QHeaderView::section,QTableCornerButton:section{
    padding:3px;
    margin:0px;
    color:#DCDCDC;
    border:1px solid #242424;
    border-left-width:0px;
    border-right-width:1px;
    border-top-width:0px;
    border-bottom-width:1px;
    background:rgba(51, 106, 168, 255);
}

其他


width:8px;

//设置交替颜色,需要在函数属性中设置
alternate-background-color:red;

height:22px;

width:20px;

min-height:20px;,

//标选中时前景色:文字颜色
selection-color:red

//鼠标选中时背景色
selection-background-color:lightgray

show-decoration-selected:5

subcontrol-position:top

字体属性:(font)

大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD

样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)

行高 {line-height: normal;}(正常) 单位:PX、PD、EM

粗细 {font-weight: bold;}(粗体) lighter;(细体) normal;(正常)

变体 {font-variant: small-caps;}(小型大写字母) normal;(正常)

大小写 {text-transform: capitalize;}(首字母大写) uppercase;(大写) lowercase;(小写) none;()

修饰 {text-decoration: underline;}(下划线) overline;(上划线) line-through;(删除线) blink;(闪烁)

常用字体: (font-family)

Courier New, Courier, monospace, Times New Roman, Times, serif, Arial, Helvetica, sans-serif, Verdana

背景属性: (background)

色彩 {background-color: #FFFFFF;}

图片 {background-image: url();}

重复 {background-repeat: no-repeat;}

滚动 {background-attachment: fixed;}(固定) scroll;(滚动)

位置 {background-position: left;}(水平) top(垂直);

简写方法 {background:#000 url(..) repeat fixed left top;} /*简写·这个在阅读代码中经常出现,要认真的研究*/

区块属性: (Block) /*这个属性第一次认识,要多多研究*/

字间距 {letter-spacing: normal;} 数值 /*这个属性似乎有用,多实践下*/

对齐 {text-align: justify;}(两端对齐) left;(左对齐) right;(右对齐) center;(居中)

缩进 {text-indent: 数值px;}

垂直对齐 {vertical-align: baseline;}(基线) sub;(下标) super;(下标) top; text-top; middle; bottom; text-bottom;

词间距word-spacing: normal; 数值

空格white-space: pre;(保留) nowrap;(不换行)

显示 {display:block;}() inline;(内嵌) list-item;(列表项) run-in;(追加部分) compact;(紧凑) marker;(标记) table; inline-table; table-raw-group; table-header-group; table-footer-group; table-raw; table-column-group; table-column; table-cell; table-caption;(表格标题) /*display 属性的了解很模糊*/

方框属性: (Box)

width:; height:; float:; clear:both; margin:; padding:; 顺序:上右下左

边框属性: (Border)

border-style: dotted;(点线) dashed;(虚线) solid; double;(双线) groove;(槽线) ridge;(脊状) inset;(凹陷) outset;

border-width:; 边框宽度

border-color:#;

简写方法border:width style color; /*简写*/

列表属性: (List-style)

类型list-style-type: disc;(圆点) circle;(圆圈) square;(方块) decimal;(数字) lower-roman;(小罗码数字) upper-roman; lower-alpha; upper-alpha;

位置list-style-position: outside;() inside;

图像list-style-image: url(..);

定位属性: (Position)

Position: absolute; relative; static;

visibility: inherit; visible; hidden;

overflow: visible; hidden; scroll; auto;

clip: rect(12px,auto,12px,auto) (裁切)

css属性代码大全

一 CSS文字属性:

color : #999999; /*文字颜色*/

font-family : 宋体,sans-serif; /*文字字体*/

font-size : 9pt; /*文字大小*/

font-style:itelic; /*文字斜体*/

font-variant:small-caps; /*小字体*/

letter-spacing : 1pt; /*字间距离*/

line-height : 200%; /*设置行高*/

font-weight:bold; /*文字粗体*/

vertical-align:sub; /*下标字*/

vertical-align:super; /*上标字*/

text-decoration:line-through; /*加删除线*/

text-decoration: overline; /*加顶线*/

text-decoration:underline; /*加下划线*/

text-decoration:none; /*删除链接下划线*/

text-transform : capitalize; /*首字大写*/

text-transform : uppercase; /*英文大写*/

text-transform : lowercase; /*英文小写*/


二、CSS边框空白

padding-top:10px; /*上边框留空白*/

padding-right:10px; /*右边框留空白*/

padding-bottom:10px; /*下边框留空白*/

padding-left:10px; /*左边框留空白

三、CSS符号属性:

list-style-type:none; /*不编号*/

list-style-type:decimal; /*阿拉伯数字*/

list-style-type:lower-roman; /*小写罗马数字*/

list-style-type:upper-roman; /*大写罗马数字*/

list-style-type:lower-alpha; /*小写英文字母*/

list-style-type:upper-alpha; /*大写英文字母*/

list-style-type:disc; /*实心圆形符号*/

list-style-type:circle; /*空心圆形符号*/

list-style-type:square; /*实心方形符号*/

list-style-image:url(/dot.gif); /*图片式符号*/

list-style-position: outside; /*凸排*/

list-style-position:inside; /*缩进*/

四、CSS背景样式:

background-color:#F5E2EC; /*背景颜色*/

background:transparent; /*透视背景*/

background-image : url(/image/bg.gif); /*背景图片*/

background-attachment : fixed; /*浮水印固定背景*/

background-repeat : repeat; /*重复排列-网页默认*/

background-repeat : no-repeat; /*不重复排列*/

background-repeat : repeat-x; /*在x轴重复排列*/

background-repeat : repeat-y; /*在y轴重复排列*/

指定背景位置

background-position : 90% 90%; /*背景图片x与y轴的位置*/

background-position : top; /*向上对齐*/

background-position : buttom; /*向下对齐*/

background-position : left; /*向左对齐*/

background-position : right; /*向右对齐*/

background-position : center; /*居中对齐*/

五、CSS连接属性:

a /*所有超链接*/

a:link /*超链接文字格式*/

a:visited /*浏览过的链接文字格式*/

a:active /*按下链接的格式*/

a:hover /*鼠标转到链接*/

鼠标光标样式:

链接手指 CURSOR: hand

十字体 cursor:crosshair

箭头朝下 cursor:s-resize

十字箭头 cursor:move

箭头朝右 cursor:move

加一问号 cursor:help

箭头朝左 cursor:w-resize

箭头朝上 cursor:n-resize

箭头朝右上 cursor:ne-resize

箭头朝左上 cursor:nw-resize

文字I型 cursor:text

箭头斜右下 cursor:se-resize

箭头斜左下 cursor:sw-resize

漏斗 cursor:wait

光标图案(IE6) p {cursor:url(光标文件名.cur),text;}

六、CSS框线一览表:

以上是建议书写方式,但也可以使用常规的方式 如下:

border-top-color : #369 /*设置上框线top颜色*/

border-top-width :1px /*设置上框线top宽度*/

border-top-style : solid/*设置上框线top样式*/

其他框线样式

solid /*实线框*/

dotted /*虚线框*/

double /*双线框*/

groove /*立体内凸框*/

ridge /*立体浮雕框*/

inset /*凹框*/

outset /*凸框*/

七、CSS表单运用:

文字方块

按钮

复选框

选择钮

多行文字方块

下拉式菜单 选项1选项2

八、CSS边界样式:

margin-top:10px; /*上边界*/

margin-right:10px; /*右边界值*/

margin-bottom:10px; /*下边界值*/

margin-left:10px; /*左边界值*/

CSS 属性: 字体样式(Font Style)

序号 中文说明 标记语法

1 字体样式 {font:font-style font-variant font-weight font-size font-family}

2 字体类型 {font-family:字体1,字体2,字体3,...}

3 字体大小 {font-size:数值|inherit| medium| large| larger| x-large| xx-large| small| smaller| x-small| xx-small}

4 字体风格 {font-style:inherit|italic|normal|oblique}

5 字体粗细 {font-weight:100-900|bold|bolder|lighter|normal;}

6 字体颜色 {color:数值;}

7 阴影颜色 {text-shadow:16位色值}

8 字体行高 {line-height:数值|inherit|normal;}

9 字 间 距 {letter-spacing:数值|inherit|normal}

10 单词间距 {word-spacing:数值|inherit|normal}

11 字体变形 {font-variant:inherit|normal|small-cps }

12 英文转换 {text-transform:inherit|none|capitalize|uppercase|lowercase}

13 字体变形 {font-size-adjust:inherit|none}

14 字体 {font-stretch:condensed|expanded|extra-condensed|extra-expanded|inherit|narrower|normal| semi-condensed|semi-expanded|ultra-condensed|ultra-expanded|wider}

文本样式(Text Style)

序号 中文说明 标记语法

1 行 间 距 {line-height:数值|inherit|normal;}

2 文本修饰 {text-decoration:inherit|none|underline|overline|line-through|blink}

3 段首空格 {text-indent:数值|inherit}

4 水平对齐 {text-align:left|right|center|justify}

5 垂直对齐 {vertical-align:inherit|top|bottom|text-top|text-bottom|baseline|middle|sub|super}

6 书写方式 {writing-mode:lr-tb|tb-rl}

背景样式

序号 中文说明 标记语法

1 背景颜色 {background-color:数值}

2 背景图片 {background-image: url(URL)|none}

3 背景重复 {background-repeat:inherit|no-repeat|repeat|repeat-x|repeat-y}

4 背景固定 {background-attachment:fixed|scroll}

5 背景定位 {background-position:数值|top|bottom|left|right|center}

6 背影样式 {background:背景颜色|背景图象|背景重复|背景附件|背景位置}

框架样式(Box Style)

序号 中文说明 标记语法





3 边框宽度 {border-width:border-top-width border-right-width border-bottom-width border-left-width}

宽度值: thin|medium|thick|数值

4 边框颜色 {border-color:数值 数值 数值 数值}  数值:分别代表top、right、bottom、left颜色值

5 边框风格 {border-style:none|hidden|inherit|dashed|solid|double|inset|outset|ridge|groove}

6 边  框 {border:border-width border-style color}

上 边 框 {border-top:border-top-width border-style color}

右 边 框 {border-right:border-right-width border-style color}

下 边 框 {border-bottom:border-bottom-width border-style color}

左 边 框 {border-left:border-left-width border-style color}

7 宽  度 {width:长度|百分比| auto}

8 高  度 {height:数值|auto}

9 漂  浮 {float:left|right|none}

10 清  除 {clear:none|left|right|both}

分类列表

序号 中文说明 标记语法

1 控制显示 {display:none|block|inline|list-item}

2 控制空白 {white-space:normal|pre|nowarp}

3 符号列表 {list-style-type:disc|circle|square|decimal|lower-roman|upper-roman|lower-alpha|upper-alpha|none}

4 图形列表 {list-style-image:URL}

5 位置列表 {list-style-position:inside|outside}

6 目录列表 {list-style:目录样式类型|目录样式位置|url}

7 鼠标形状 {cursor:hand|crosshair|text|wait|move|help|e-resize|nw-resize|w-resize|s-resize|se-resize|sw-resize}
下 边 框 {border-bottom:border-bottom-width border-style color}

左 边 框 {border-left:border-left-width border-style color}

7 宽  度 {width:长度|百分比| auto}

8 高  度 {height:数值|auto}

9 漂  浮 {float:left|right|none}

10 清  除 {clear:none|left|right|both}

分类列表

序号 中文说明 标记语法

1 控制显示 {display:none|block|inline|list-item}

2 控制空白 {white-space:normal|pre|nowarp}

3 符号列表 {list-style-type:disc|circle|square|decimal|lower-roman|upper-roman|lower-alpha|upper-alpha|none}

4 图形列表 {list-style-image:URL}

5 位置列表 {list-style-position:inside|outside}

6 目录列表 {list-style:目录样式类型|目录样式位置|url}

7 鼠标形状 {cursor:hand|crosshair|text|wait|move|help|e-resize|nw-resize|w-resize|s-resize|se-resize|sw-resize}
### 回答1: Qt是一款跨平台的C++应用开发框架,具有强大的UI控件库。QtUI控件可以使用C++语言编写,并支持多种操作系统如Windows、Linux、macOS等。 在Qt中,UI控件使用Qt Designer工具进行设计和布局。Qt Designer提供了一个可视化的图形界面,可以通过拖拽和释放的方式快速创建和修改UI界面。通过容器控件如窗口、对话框和布局管理器,可以组合和排列UI控件,使其具有良好的布局效果。 QtUI控件库具有丰富的功能和样式,可以满足不同的需求。常见的UI控件包括按钮、标签、文本框、列表框、下拉框、复选框等。这些控件都可以在Qt Designer中直接拖拽到界面中,并通过属性编辑对其进行定制设置,如文字、颜色、大小等。 除了基础的UI控件Qt还提供了一些特殊的控件,如进度条、滑动条、图形绘制、图表等,可以满足更复杂的UI需求。此外,Qt还支持用户自定义的UI控件,可以根据自己的需要进行扩展和定制。 在使用QtUI控件时,开发者需要编写对应的事件处理函数,通过连接信号和槽的方式响应用户的操作。通过信号和槽机制,UI控件可以与后台的业务逻辑进行交互,实现更复杂的功能。 总而言之,QtUI控件库提供了丰富的功能和样式,并且支持跨平台开发开发者可以使用C++语言编写UI控件的代码,并通过Qt Designer可视化工具进行设计和布局,从而快速开发出美观、可用性强的应用程序。 ### 回答2: Qt是一款跨平台的应用程序开发框架,提供了丰富的UI控件开发者使用。其UI控件C示例如下: ```c++ #include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建一个窗口 QWidget window; window.setWindowTitle("Qt UI控件示例"); // 创建一个按钮 QPushButton button("点击我", &window); button.setGeometry(50, 50, 100, 30); // 连接按钮的点击信号与槽函数 QObject::connect(&button, &QPushButton::clicked, [&]() { button.setText("已点击"); }); // 显示窗口 window.show(); // 运行应用程序 return app.exec(); } ``` 这个示例演示了一个简单的Qt程序,其中包含一个窗口和一个按钮。窗口的标题设置为"Qt UI控件示例",按钮的文本设置为"点击我"。当按钮被点击时,按钮的文本会变为"已点击"。 在程序中,首先需要创建一个QApplication对象来管理应用程序的生命周期。然后创建一个QWidget窗口,并设置窗口的标题。接着创建一个QPushButton按钮,并将它作为窗口的子控件。使用setGeometry函数可以设置按钮的位置和大小。 通过QObject::connect函数连接按钮的clicked信号与一个槽函数。在这个示例中,槽函数使用了Lambda表达式,当按钮被点击时,它会将按钮的文本设置为"已点击"。 最后,调用窗口的show函数显示窗口,然后调用QApplication的exec函数运行应用程序。这样,程序就进入了事件循环,等待事件的发生和处理。 通过这个示例,可以简单了解如何使用QtUI控件来创建一个窗口和按钮,并监听按钮的点击事件。当然,Qt还提供了许多其他的UI控件和功能,开发者可以根据自己的需求进行灵活运用。 ### 回答3: Qt是一个跨平台的应用程序开发框架,通过它可以轻松构建图形用户界面(UI)。Qt提供了丰富的UI控件,可以用于创建各种交互式的窗口和界面。 在使用Qt编写UI界面时,可以使用Qt Designer来设计界面。Qt Designer是一个可视化界面设计工具,可以直接拖拽和放置各种UI控件,并进行属性设置。设计好界面后,Qt Designer会生成一个.ui文件,它包含了界面的布局和控件的属性。 在C++代码中使用QtUI控件,首先需要将.ui文件转换为C++代码。Qt提供了一个uic工具,可以从.ui文件中生成对应的C++代码。可以使用类似下面的命令进行转换: uic input.ui -o output.h 转换完成后,可以把生成的output.h文件包含到项目中,并在代码中通过调用控件的方法来实现功能。例如,可以通过QPushButton的clicked信号和相应的槽函数来处理按钮的点击事件;通过QLineEdit的textChanged信号和相应的槽函数来处理文本框内容的变化等等。 除了可以使用Qt Designer来设计界面外,也可以通过代码来创建和布局UI控件Qt提供了各种UI控件的类,例如QPushButton、QLineEdit、QLabel等等。可以在代码中对这些控件进行实例化,并设置它们的属性和布局关系。 最后需要注意的是,Qt提供了一套信号和槽机制用于处理控件之间的交互和通信。信号是一种特殊的函数,当特定的事件发生时被触发;槽是接收信号的函数。在UI控件中,经常会使用信号和槽来实现各种功能。 综上所述,QtUI控件提供了丰富的功能和灵活的设计方式,可以用于开发各种跨平台的图形用户界面程序。只需要通过Qt Designer或者通过代码创建和布局UI控件,然后利用信号和槽机制实现界面交互即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值