九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用QColorDialog顏色編輯選取對話框來拾取顏色,來動態(tài)改變界面整體的顏色風(fēng)格,簡單實例

最近在做一個項目,需要把客戶端界面的顏色改變成為客戶需要的顏色,但蓋起來相當(dāng)麻煩,于是就想到QColorDialog來拾取顏色,動態(tài)的改變界面的顏色,但是這種方法只適用客戶端開始設(shè)計的時候就隨之引入。下面是代碼:

Widget.h

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QColorDialog>namespace Ui {class Widget;}class Widget : public QWidget{    Q_OBJECTpublic:    explicit Widget(QWidget *parent = 0);    ~Widget();private slots:    void ShowColor(QColor);    void SetColor(QColor);    void SetColor_1();    void on_pushButton_clicked();private:    Ui::Widget *ui;    QColor m_color;//記錄界面初始顏色    QColor m_selectedColor;//記錄按OK鍵后選中的顏色};#endif // WIDGET_H

Widget.cpp

#include "widget.h"#include "ui_widget.h"#include <QPalette>#include <QDebug>Widget::Widget(QWidget *parent) :    QWidget(parent),    ui(new Ui::Widget){    ui->setupUi(this);    //獲取當(dāng)前窗口的背景色    QPalette p = this->palette();    QBrush brush = p.background();    m_color = brush.color();}Widget::~Widget(){    delete ui;}void Widget::ShowColor(QColor color){    QPalette palette;    palette = this->palette();    palette.setBrush(QPalette::Window,QBrush(color));    this->setAutoFillBackground(true);    this->setPalette(palette);}void Widget::SetColor(QColor color){    if(color.isValid())    {        qDebug()<<"SetColor";        QPalette palette;        palette = this->palette();        palette.setBrush(QPalette::Window,QBrush(color));        this->setAutoFillBackground(true);        this->setPalette(palette);        m_selectedColor = color;    }}void Widget::SetColor_1(){    if(m_selectedColor.isValid())    {        qDebug()<<"SetColor_1";        QPalette palette;        palette = this->palette();        palette.setBrush(QPalette::Window,QBrush(m_selectedColor));        this->setAutoFillBackground(true);        this->setPalette(palette);        m_color = m_selectedColor;    }    else    {        qDebug()<<"SetColor_2";        QPalette palette;        palette = this->palette();        palette.setBrush(QPalette::Window,QBrush(m_color));        this->setAutoFillBackground(true);        this->setPalette(palette);    }}void Widget::on_pushButton_clicked(){    QColorDialog *m_pColor = new QColorDialog(this);    m_pColor->setCurrentColor(m_color);    m_pColor->show();    connect(m_pColor,SIGNAL(currentColorChanged(QColor)),this,SLOT(ShowColor(QColor)));//顯示當(dāng)前選中顏色的效果    connect(m_pColor,SIGNAL(colorSelected(QColor)),this,SLOT(SetColor(QColor)));//OK信號連接    //rejected信號會在QColorDialog框關(guān)閉或按Cancel按鈕時發(fā)出,可通過綁定該信號來進(jìn)行Cancel信號過濾    connect(m_pColor,SIGNAL(rejected()),this,SLOT(SetColor_1()));}

效果如下

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
QT中設(shè)置字體和更改字體顏色
QT helloworld 程序
QTableWidget的使用詳細(xì)介紹和美工總結(jié)
QSS編輯器—實時預(yù)覽 語法提示 顏色拾取
pyqt5 動畫學(xué)習(xí)(二) 改變控件顏色
Qt項目文件詳解
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服