为按钮控件 Qt Widgets 样式表定义多种样式

2024-06-21

如何在一个样式表中为一种控件定义多种样式?这样以后开发人员就可以选择控件应该是什么样子的样式。

例如,我需要定义两种样式QPushButton:用于普通按钮(左侧)和操作按钮(右侧)

对于第一个按钮,我编写了以下样式:

QPushButton {
    background-color: #DCDCDC;
    border: 1px solid #BEBEBE;
}
...

这适用于所有QPushButtons在项目中。接下来我需要定义另一种动作风格QPushButtons也可以,但应该由开发人员选择。我怎样才能做到这一点?

我期望这样的事情:

QPushButton#ActionButton* {
    background-color: blue;
    border: 1px solid darkerblue;
}

然后如果开发人员指定objectName以“ActionButton”开头的按钮(例如“ActionButtonSendRespond”),那么它将使用第二种样式。


你可以子类化QPushButton into ActionButton所以你可以编写特定的CSS:

C++

#include <QPushButton>

class ActionButton : public QPushButton
{
    Q_OBJECT
public:
    using QPushButton::QPushButton;
};

CSS :

QPushButton {
    background-color: #DCDCDC;
    border: 1px solid #BEBEBE;
}
ActionButton {
    background-color: blue;
    border: 1px solid darkerblue;
}

然后,当开发人员使用一个类或另一个类时,他们就知道将应用哪种样式。如果您还需要更改子类中的行为,它会很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为按钮控件 Qt Widgets 样式表定义多种样式 的相关文章

  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • Linux 上的静态 Qt5 构建:部署时如何处理字体?

    我使用这些配置选项创建了 Qt 5 2 0 库的静态版本 Ubuntu 12 04 开源 确认许可 force pkg config 发布 静止的 前缀 home juzzlin qt5 无icu opengl桌面 无油嘴滑舌 辅助功能 n
  • 如何将 QFile 与 std::iostream 一起使用?

    是否可以像 std iostream 一样使用 QFile 我很确定那里一定有一个包装纸 问题是在哪里 我有另一个库 它需要 std istream 作为输入参数 但在我的程序中 此时我只有一个 QFile 我使用以下代码提出了自己的解决方
  • Qt - 如何使用 QNetworkAccessmanager 获取响应文本

    这是我的代码 Widget Widget manager new QNetworkAccessManager this connect manager SIGNAL finished QNetworkReply this SLOT repl
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • QT:模块“QtWebView”未安装

    我的操作系统是win10 QT版本是Qt5 7 mingw53 32 目标操作系统是win10 当我使用qmlscene执行qml文件时 发生了一些错误 qrc qml 3 模块 QtWebView 未安装 我的 qml 文件如下 impo
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • PyQt5 使动态小部件可点击并将参数传递给另一个函数

    我正在尝试制作动态小部件并使它们可点击 通过单击一个小部件 它应该将动态值传递给其他小部件 我尝试过 sender 和其他访问小部件的选项 但没有任何效果 所有小部件都从最后一个小部件发送信息 下面是代码 import sys from P
  • 从 QFile 获取句柄

    我有一个QFile 但我需要在其上调用一些仅接受HANDLE 有没有办法找回底层HANDLE of the QFile 我找到了一种使用的方法 get osfhandle 在 MinGW 和 VS 中可用 QFile file HANDLE
  • Qt 和 Sqlite 示例

    我正在寻找一些使用 Qt 的示例代码 它是带有 Sqlite 驱动程序的 SQL 模块 我需要示例的主要原因是我之前有 Qt 数据库接口的经验 并且 Sqlite 在字段类型方面有一些奇怪的行为 类型是按字段存储的 而不是按列存储的 The
  • Qt 多重继承和信号

    由于 QObject 我在 QT 中遇到了有关多重继承的问题 我知道很多人也有同样的问题 但我不知道该如何解决 class NavigatableItem public QObject Q OBJECT signals void desel
  • 使用 qt 创建和使用共享库

    我对共享库很陌生 所以我对如何创建 使用共享库有疑问 我正在使用 Qt Creator 和 qt 5 4 2 以及 Microsoft Visual C 11 0 编译器 在我的项目中 我需要创建一个 dll 它从外部库调用函数 有 h l
  • 仅使 QTreeWidgetItem 的一列可编辑

    我有一个QTreeWidgetItem有两列数据 有什么办法可以只让第二列可编辑吗 当我执行以下操作时 QTreeWidgetItem item new QTreeWidgetItem item gt setFlags item gt fl
  • 如何使用 Qt/C++ 创建/读取/写入文件并将设置存储在程序本地

    我是一个不幸的 C 初学者 使用 Qt GUI 设计器程序似乎非常适合我的需求 但我在尝试编写所需的代码时遇到了问题 我可以使用 QSettings 字符串在硬盘驱动器上存储本地设置 但我个人讨厌程序执行某些程序所做的 HOME LOCAL
  • 用Qt制作无边框窗口

    我是 Qt C 新手 我下载了最新的 Windows 版本 做了一些教程 非常棒 我看到了 Qt 框架具有的一些样式选项 而且它很棒 但现在我需要构建我的应用程序 其主窗口 形式 是用没有矩形边框 无边框 的图像设计 蒙皮的 我怎样才能用Q
  • Qt 按键事件 Enter

    void LoginModle keyPressEvent QKeyEvent event qDebug lt lt event gt key lt lt t lt lt Qt Key Enter lt lt t lt lt QKeyEve
  • QTextEdit:仅当滚动条位于底部时自动向下滚动

    有一个 QTextEdit 显示相当多的文本 它不可编辑 假设我想在开头阅读一些内容 向上滚动 但随后添加了一个新行 并且滚动条自动转到底部 我在使用各种程序时遇到类似的问题 无论它们是用什么语言编写的 如何处理这个问题 当向文本添加新行时
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实

随机推荐