Qt: QPushButton 常用样式设置(qss)

1.设置上边框为2个像素,样式为实线,颜色为黑色

border-top:2px solid #000000;

2.设置上内边距为:8px;文字向下移动

padding-top:8px;

 在这里插入图片描述

3.给文字加下划线

text-decoration:underline;

在这里插入图片描述 

4.渐变色(从上往下线性渐变)

background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                      stop: 0 #ff0000, stop: 0.4 #00ff00,
                                      stop: 0.5 #0000ff, stop: 1.0 #ffffff);

 23

5. 渐变色(从左往右线性渐变)

background-color:qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
                                      stop: 0 #ff0000, stop: 0.4 #00ff00,
                                      stop: 0.5 #0000ff, stop: 1.0 #ffffff);

23

6.渐变色(从里到外径向渐变)

background-color:qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5,fx:0.5, fy:0.5,
                                     stop:0 #ff0000, stop:0.4 #00ff00,
                                     stop:0.5 #0000ff,stop:1 #ffffff);

 23

7. 渐变色(角度渐变)

background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0,
                                      stop:0 #ff0000, stop:0.4 #00ff00,
                                      stop:0.5 #0000ff,stop:1 #ffffff);

 23

 8.加图标

background-image:url(":/delete.png");
//background-repeat: no-repeat; 加入这个 就只有一张图片
image:url(":/delete.png");

 在这里插入图片描述1在这里插入图片描述

 9.设置轮廓样式

outline: 1px solid #0000ff;/*设置轮廓样式*/
background-color: #cccccc;
color: #ff0000;
border-radius: 4px;
padding: 2px;

 2345

 10.按钮禁用时,设置样式

QPushButton:disabled {
  /*设置禁用时按钮的样式*/
}

 11.按钮选中时,设置样式 前提是setCheckable(true)


QPushButton:checked {
  /*设置选中时按钮的样式*/
}
QPushButton:!checked {
  /*设置未选中时按钮的样式*/
}

 12.按钮选中并且禁用时,设置样式

QPushButton:checked:disabled {
  /*设置选中并且禁用时按钮的样式*/
}

 13.点击按钮时,设置样式

QPushButton:pressed {
  /*设置点击按钮时按钮的样式*/
}

 14.鼠标悬浮在按钮上时,设置样式

QPushButton:hover {

}

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
10.1 何为Qt样式表 由于Qt样式表的引入,定制Qt部件的外观样式变得非常简单。 Qt样式表的思想很大程度上是来自于HTML的层叠式样式表(CSS), 通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet(), 你可以为一个独立的子部件、整个窗口,甚至是整个个应用程序指定一个样式表。 样式表是通过QStyle的一个叫做QStyleSheetStyle的特殊子类来实现的。 这个特殊的子类实际上是其他的系统特定风格类的包裹类,它会把通过样式表指定的自定义外观风格应用在底层的系统特定风格之上。 10.2 样式表语法基础 Qt样式表与CSS的语法规则几乎完全相同,如果你已经了解了CSS,完全可以跳过本节。 一个样式表由一系列的样式规则构成。每个样式规则都有着下面的形式: selector { attribute: value } 选择器(selector)部分通常是一个类名(例如QComboBox),当然也还有其他的语法形式。 属性(attribute)部分是一个样式表属性的名字, 值(value)部分是赋给该属性的值。 为了使用方便,我们还可以使用一种简化形式: selector1, selector2, ..., selectorM { attribute1: value1; attribute2: value2; ... attributeN: valueN; } 这种简化形式可以同时为与M个选择器相匹配的部件设置N种属性。 例如: QCheckBox, QComboBox, QSpinBox { color: red; //字体颜色:红 font: bold; } 这个规则设置了所有的QCheckBox、QComboBox和QSpinBox的前景色、背景色和字体。 10.3 方箱模型 在样式表中,每个部件都被看作是一个由四个同心相似的矩形组成的箱体: 空白(margin)、边框(border)、填充(padding)和内容(content)。 对于一个平面部件——例如一个空白、边框和填充都是0像素的部件——而言,这四个矩形是完全重合的。 空白区域位于边框外,并且总是透明的。 边框为部件提供了四周的框架,其border-style属性可以设置为一些内置的框架风格,如inset、outset、solid和ridge。 填充在边框和内容区域之间提供了空白间隔。 10.4 前景与背景 部件的前景色用于绘制上面的文本,可以通过color属性指定。 背景色用于绘制部件的填充矩形,可以通过background-color属性指定。 背景图片使用background-image属性定义,它用于绘制由background-origin指定的矩形区域(空白、边框、填充或内容)。背景图片在矩形区域内的对齐和平铺方式可以通过background-position和background-repeat属性指定。 QFrame { margin: 10px; border: 2px solid green; padding: 20px; background-image: url(qt.png); background-position: top right; background-origin: content; background-repeat: none; } 在这个例子中,QFrame四周的空白、边框和填充值都是一样的。 实际上margin属性可以在上下左右四个方向分别指定我们需要的不同值,例如: QFrame { margin: 14px 18px 20px 18px; } 同时,我们也可以分别指定margin-top、margin-right、margin-bottom、margin-left四个属性。 QFrame { margin-top: 14px; margin-right: 18px; margin-bottom: 20px; margin-left: 18px; } 虽然目前我们仅仅使用了QFrame作为例子,但是我们也可以同样的将这些属性应用于任何一个支持方箱模型的Qt部件,例如:QCheckBox、 QLabel、QLineEdit、QListView、QMenu、QPushButtonQTextEdit、和QToolTip。 10.5 可缩放样式 在默认情况下,通过background-image指定的背景图片会自动重复平铺,以覆盖部件的整个填充矩形(即边框里面的那个区域)。 ///注意区别: 如果我们想创建能够随着部件大小自动缩放而不是平铺的背景,我们需要设置一种称之为“边框图片”的东东。 注意 “边框图片”可以通过border-image属性指定,它同时提供了部件的背景和边框。 一个“边框图片”被分为九个部分(九宫格),有点向tic-tac-toe游戏的棋盘。 当一个部件的边框被填充时,四角的格子通常不会发生变化,而其余的五个格子则可能被拉伸或平铺以填充可用空间。 当指定一个“边框图片”时,除了图片本身,我们还必须指定用来分割九宫格的四条分割线。同时我们还必须指定非边角的格子是应该平铺还是拉伸,以及边框的宽度(用来确定边角格子的大小,防止边角被缩放变形)。 例如,下面的样式表定义了上图中的button: QPushButton { border-width: 4px; border-image: url(button.png) 4 4 4 4 stretch stretch; } 另外,“边框图片”还应该含有alpha通道,以使背景能够在边角处露出来。 10.6控制大小 min-width和min-height两个属性可以用来指定一个部件的内容区域的最小大小。 这两个值将影响部件的minimumSizeHint(),并在布局时被考虑。 例如: QPushButton { min-width: 68px; min-height: 28px; } 如果该属性没有被指定,最小大小将从部件的内容区域和当前样式中继承。 10.7 伪状态 部件的外观可以按照用户界面元素状态的不同来分别定义,这在样式表中被称为“伪状态”。例如,如果我们想在一个push button在被按下的时候具有sunken的外观,我们可以指定一个叫做 :pressed 的伪状态。 QPushButton { border: 2px outset green; } QPushButton:pressed { background: gray; }
### 回答1: 可以使用QSSQt Style Sheet)来设置QPushButton的颜色。具体方法如下: 1. 在QPushButton所在的窗口或对话框中,右键单击选择“添加样式表”。 2. 在弹出的样式表编辑器中,输入以下代码: QPushButton { background-color: #FF0000; } 其中,#FF0000是十六进制的颜色代码,表示红色。你可以根据需要修改颜色代码。 3. 点击“应用”按钮,即可看到QPushButton的颜色已经改变了。 注意:如果你想对所有QPushButton设置相同的颜色,可以将上述代码放在应用程序的全局样式表中。 ### 回答2: qt中可以使用QSSQt Style Sheets)来设置QPushbutton的颜色。QSS是基于CSS语法的Qt界面风格表,它允许一个程序员通过CSS样式QT界面进行美化。 1.设置按钮颜色 如果要设置QPushbutton的背景颜色和前景颜色,可以使用QSS样式表来实现。例如,以下代码将QPushbutton设置为红色背景、白色前景: ```python QPushButton { background-color: red; color: white; } ``` 您可以将这些代码添加到您的qt应用程序中,然后使用样式表将QtObject设置为QPushButton类。或者,如果您要设置QPushbutton特定的ID颜色,那么您可以添加以下代码开头: ```python # myButton: QPushButton { background-color: red; color: white; } ``` 这会将具有myButton ID的所有QPushbutton设置为红色背景、白色前景。 2.悬停时更改按钮颜色 有时,您可能想更新QPushbutton的背景颜色和前景颜色,以便在悬停时进行更改。这可以通过以下代码来实现: ```python QPushButton:hover { background-color: green; color: blue; } ``` 当用户将鼠标悬停在QPushbutton上时,此代码将使用绿色背景、蓝色前景更新控件。 3.按下更改按钮颜色 最后,您可能需要通过更改用户按下QPushbutton时的背景颜色和前景颜色,使UI更加互动。这可以通过以下代码来实现: ```python QPushButton:pressed { background-color: orange; color: black; } ``` 当用户按下QPushbutton时,此代码将使用橙色背景、黑色前景更新控件。 总结: 以上是设置QPushbutton按钮颜色的方法,通过QSS样式表可以在QT中方便地进行定制。您可以使用这些方法来创建令人愉悦的用户体验,同时使您的UI更加互动。 ### 回答3: 在Qt中,QPushButton是最常用的控件之一,它允许用户在界面上进行交互,并触发事件。设置QPushButton的颜色可以使界面更加美观和个性化。下面我们来看一下如何在Qt设置QPushButton的颜色。 在Qt中,通常有两种方法可以设置QPushButton的背景颜色:使用CSS和使用QPalette。 使用CSS设置QPushButton的颜色: 1.在Qt Creator中,打开界面设计器。从界面构建工具箱中将QPushButton拖入界面图形视图中。 2.选中QPushButton。在属性编辑器的下拉菜单中选择StyleSheet,然后单击右侧的小箭头。这将打开CSS编辑器。 3.在CSS编辑器中,可以使用CSS语法设置QPushButton样式。例如,可以使用background-color属性来设置背景颜色。以下是设置背景颜色为红色的样例代码: QPushButton { background-color: red } 4.单击“确定”以保存CSS样式并关闭CSS编辑器。此时,界面设计器中的QPushButton将呈现出红色背景色。 使用QPalette设置QPushButton的颜色: 1.在Qt Creator中,打开界面设计器。从界面构建工具箱中将QPushButton拖入界面图形视图中。 2.选中QPushButton。在属性编辑器中,展开palette属性组并单击编辑按钮。这将打开QPalette编辑器。 3.在QPalette编辑器中,可以设置QPushButton使用的颜色组合。例如,可以设置背景颜色为红色。以下是设置背景色为红色的样例代码: palette.setColor(QPalette::Button, QColor(Qt::red)); 4.单击“确定”以保存QPalette并关闭QPalette编辑器。此时,界面设计器中的QPushButton将呈现出红色背景色。 总之,无论是使用CSS还是QPalette,都可以轻松地设置QPushButton的颜色,从而使界面更加个性化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值