Qt样式表:美化颜色选择框

    QDialog dialog(this);
    QPalette palette;
    palette.setColor(QPalette::Background,QColor(255,255,255));
    dialog.setAutoFillBackground(true);
    dialog.setPalette(palette);

    dialog.setWindowFlags(Qt::Dialog|Qt::WindowCloseButtonHint);
    QFormLayout form(&dialog);
    form.setSizeConstraint(QLayout::SetFixedSize);

    QColorDialog colorDlg(QColor("#" + style_item_select_color),this);
    colorDlg.setOptions(QColorDialog::NoButtons);
    form.addRow(&colorDlg);
    dialog.setWindowTitle(tr("选择项选中颜色"));
    dialog.setStyleSheet(QString("QPushButton{color: #FFFFFF;padding:6px 10px 6px 10px;border-radius:6px;font-weight:bold;background: #%1;}"
                                 "QPushButton:hover{background: #%2;}"
                                 "QPushButton:pressed{background: #%3;}"
                                 "QLineEdit{border-radius: 6px;border: 1px solid #%1;padding:3px 0px 3px 6px;color: #000000;selection-background-color:#%1;}"
                                 "QSpinBox{border-radius: 6px;border: 1px solid #%1;padding:3px 0px 3px 6px;color: #000000;selection-background-color:#%1;}"
                                 "QSpinBox::up-button{border: none;}"
                                 "QSpinBox::down-button{border: none;}").arg(style_main_color).arg(style_hover_color).arg(style_press_color));

    QDialogButtonBox buttonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
    QPushButton * btn = buttonBox.button(QDialogButtonBox::Ok);
    btn->setCursor(Qt::PointingHandCursor);
    btn->setStyleSheet(QString("QPushButton{color: #FFFFFF;padding:6px 10px 6px 10px;border-radius:6px;font-weight:bold;background: #%1;}"
                               "QPushButton:hover{background: #%2;}"
                               "QPushButton:pressed{background: #%3;}"
                               "QPushButton:disabled{background: #d8d8d8;}").arg(style_main_color).arg(style_hover_color).arg(style_press_color));
    btn->setText(tr("OK"));

    btn = buttonBox.button(QDialogButtonBox::Cancel);
    btn->setCursor(Qt::PointingHandCursor);
    btn->setStyleSheet("QPushButton{color:#FFFFFF;padding:6px 10px 6px 10px;background-color:#999999;font-weight:bold;border:0px;border-radius:6px;}"
                       "QPushButton:hover{background-color:#BBBBBB;}"
                       "QPushButton:pressed{background-color:#d5d5d5;}");
    btn->setText(tr("Cancel"));

    form.addRow(&buttonBox);

    connect(&buttonBox, &QDialogButtonBox::accepted, &dialog, &QDialog::accept);
    connect(&buttonBox, &QDialogButtonBox::rejected, &dialog, &QDialog::reject);

    QList<QAbstractButton * > list = colorDlg.findChildren<QAbstractButton *>();
    for (int var = 0; var < list.size(); ++var)
    {
        list[var]->setCursor(Qt::PointingHandCursor);
    }
    if(dialog.exec() == QDialog::Accepted)
    {
        QColor c = colorDlg.currentColor();
        if(c.isValid())
        {
            QString mRgbStr = QString::number(qRgb(c.red(),c.green(),c.blue()),16).right(6);//ARGB 第一个是透明度
            ui->label->setStyleSheet(QString("border-radius:6px;background:#%1;").arg(mRgbStr));
        }
    }

配合:Qt样式表:切换主题食用更佳。

效果如下,这是粉红色主题:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt样式表葵花宝典是一个非常有用的资源,它提供了许多关于如何使用Qt样式表的技巧和技巧。 首先,Qt样式表是一种通过CSS语法来定义应用程序界面的方法。它允许您更改控件的外观和行为,以使应用程序的界面更加个性化和吸引人。 葵花宝典为我们提供了一个完整的指南,帮助我们了解如何使用Qt样式表来设置字体、颜色、背景、边等各种外观属性。它提供了大量的示例代码和详细的说明,使我们能够轻松地定制和美化我们的Qt应用程序。 除了基本的样式设置,葵花宝典还提供了如何应用样式表到特定的控件或窗口、如何使用伪类和伪元素来处理不同的状态和效果等进阶内容。这些技巧可以帮助我们实现更复杂和富有交互性的用户界面。 此外,葵花宝典还提供了一些关于如何自定义Qt样式的建议和最佳实践。例如,如何通过继承和重载来扩展和修改Qt控件的样式,以及如何管理和组织大规模的样式表文件等。 总之,Qt样式表葵花宝典提供了丰富的知识和技巧,使我们能够更好地理解和应用Qt样式表来定制和美化我们的应用程序界面。它是Qt开发者必备的宝典之一。 ### 回答2: Qt样式表Qt架提供的一种用于美化和自定义Qt应用程序界面的技术。从字面上看,“葵花宝典”表示Qt样式表的精髓和重要性。 Qt样式表的设计思想灵感来自于CSS(层叠样式表),使得开发者可以通过简单的代码语法来定义和修改Qt应用程序的外观。使用Qt样式表,开发者可以自定义各种控件的外观、颜色、字体、边、背景等,以满足不同用户的需求和设计要求。 葵花宝典的含义在于,Qt样式表Qt开发中的重要技术,在应用程序的界面设计过程中起到了关键的作用。它提供了丰富的样式选择器和属性定义,使得开发者可以灵活地控制和调整界面的外观。 Qt样式表葵花宝典还可以指代一些Qt样式表的技巧和经验总结,包括如何使用选择器来选择特定的控件,如何使用属性来定义控件的样式,如何实现动态样式的变化等等。这些技巧和经验可以帮助开发者更好地利用Qt样式表来定制和美化界面,进一步提升应用程序的用户体验。 总之,Qt样式表葵花宝典代表了Qt样式表Qt开发中的重要性和价值,它为开发者提供了自定义和美化Qt应用程序界面的强大工具和技术。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值