国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt自定義控件 —— 顏色選擇組合控件

這篇具有很好參考價(jià)值的文章主要介紹了Qt自定義控件 —— 顏色選擇組合控件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

????????在開(kāi)始閱讀本文之前,如果您有學(xué)習(xí)創(chuàng)建Qt自定義控件并在其他項(xiàng)目中引用的需求,請(qǐng)參考:

Linux系統(tǒng)下在Qt Creator中創(chuàng)建自定義控件并在其他項(xiàng)目中引用https://blog.csdn.net/YMGogre/article/details/128920804


目錄

1、應(yīng)用場(chǎng)景:

2、所需資源:

3、界面布局:

3.1、各布局/控件屬性:

4、源代碼:

4.1、h文件

4.2、cpp文件

4.3、ui文件

5、使用方法:

6、注意事項(xiàng):

7、源碼下載:


1、應(yīng)用場(chǎng)景:

  • 當(dāng)我們需要一個(gè)組合控件可以通過(guò)鍵盤(pán)輸入或者打開(kāi)Qt的顏色對(duì)話(huà)框來(lái)設(shè)置其他控件的顏色時(shí);

qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++

2、所需資源:

(無(wú),本質(zhì)即 Qt 的幾個(gè)自帶控件的組合)

3、界面布局:

整體布局如下圖所示,該自定義控件由一個(gè)GraphicsView、一個(gè)LineEdit、一個(gè)PushButton組成。窗口整體設(shè)置了 baseSize 為 140 × 25

qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++

3.1、各布局/控件屬性:

qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++
MyPalette屬性
qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++
horizontalLayout屬性
qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++
ColorDisplay屬性
qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++
ColorLineEdit屬性
qt 顏色選擇控件,# Qt用戶(hù)自定義控件,qt,ui,c++
btn_SelectColor屬性

4、源代碼:

4.1、h文件

/* mypalette.h */

#ifndef MYPALETTE_H
#define MYPALETTE_H

#include <QObject>
#include <QWidget>
#include <QColorDialog>
#include <QColor>
#include <QPalette>
#include <QString>
#include <QRegExpValidator>
#include <QtUiPlugin/QDesignerExportWidget>
#include <QEvent>
#include <QMouseEvent>
#include <QPushButton>

namespace Ui {
class MyPalette;
}

class QDESIGNER_WIDGET_EXPORT MyPalette : public QWidget
{
    Q_OBJECT

public:
    explicit MyPalette(QWidget *parent = nullptr);
    ~MyPalette();
    QColor currentColor();
    void setColor(int r, int g, int b, int a = 255);
    void setColor(QColor color);

protected:
    bool eventFilter(QObject *watchedm, QEvent *event) override;    //重寫(xiě)事件過(guò)濾器方法

signals:
    void colorchanged(QColor);              //自定義顏色改變信號(hào)

private:
    Ui::MyPalette *ui;
    QColor color = QColor(Qt::white);
};

#endif // MYPALETTE_H

4.2、cpp文件

/* mypalette.cpp */

#include "mypalette.h"
#include "ui_mypalette.h"

MyPalette::MyPalette(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyPalette)
{
    ui->setupUi(this);
    //QGraphicsView的鼠標(biāo)事件會(huì)傳遞給它所顯示的QGraphicsScene,然后再傳遞給場(chǎng)景中的QGraphicsItem。我們?cè)O(shè)置該控件屬性:傳遞給父對(duì)象做鼠標(biāo)事件處理
    ui->ColorDisplay->setAttribute(Qt::WA_TransparentForMouseEvents);

    /*****************************************
     * 為自定義控件的子控件安裝該自定義控件的事件過(guò)濾器
     ****************************************/
    ui->ColorLineEdit->installEventFilter(this);
    ui->btn_SelectColor->installEventFilter(this);
    /*使用正則表達(dá)式限制輸入(正確輸入格式應(yīng)當(dāng)形如 ———— "255; 255; 255",最后允許跟隨一個(gè)分號(hào)以及一個(gè)0~255的alpha通道值)
     * (2[0-4][0-9];?\\s?)  ———— 限制輸入200~249正整數(shù)(尾部允許跟隨0~1個(gè)分號(hào)";"和空格" ")
     * (25[0-5];?\\s?)      ———— 限制輸入250~255正整數(shù)(尾部允許跟隨0~1個(gè)分號(hào)";"和空格" ")
     * (1[0-9][0-9];?\\s?)  ———— 限制輸入100~199正整數(shù)(尾部允許跟隨0~1個(gè)分號(hào)";"和空格" ")
     * ([1-9]?[0-9];?\\s?)  ———— 限制輸入0~99正整數(shù)(尾部允許跟隨0~1個(gè)分號(hào)";"和空格" ")
    */
    ui->ColorLineEdit->setValidator(new QRegExpValidator(QRegExp("^((2[0-4][0-9];\\s?)|(25[0-5];\\s?)|(1[0-9][0-9];\\s?)|([1-9]?[0-9];\\s?)){0,3}((2[0-4][0-9])|(25[0-5])|(1[0-9][0-9])|([1-9]?[0-9]))?$")));

    connect(ui->ColorLineEdit, &QLineEdit::textChanged, this, [=](){
        //使用正則表達(dá)式刪除字符串中所有空格
        QString colorStr = ui->ColorLineEdit->text().remove(QRegExp("\\s"));
        //使用split方法按";"分號(hào)分割字符串為字符串?dāng)?shù)組
        QStringList colorStrList = colorStr.split(";");
        //當(dāng)LineEdit只有rgb的值時(shí)
        if(colorStrList.size() == 3)
        {
            //使用字符串?dāng)?shù)組內(nèi)容初始化一個(gè)QColor對(duì)象并賦值給color成員變量
            color = QColor(colorStrList[0].toInt(), colorStrList[1].toInt(), colorStrList[2].toInt());
            //當(dāng)顏色改變時(shí),發(fā)送“顏色改變信號(hào)”
            emit colorchanged(color);
        }
        //當(dāng)LineEdit除了rgb的值還有alpha通道的值時(shí)
        else if(colorStrList.size() == 4)
        {
            //使用字符串?dāng)?shù)組內(nèi)容初始化一個(gè)QColor對(duì)象并賦值給color成員變量
            color = QColor(colorStrList[0].toInt(), colorStrList[1].toInt(), colorStrList[2].toInt(), colorStrList[3].toInt());
            //當(dāng)顏色改變時(shí),發(fā)送“顏色改變信號(hào)”
            emit colorchanged(color);
        }
        //獲取調(diào)色板
        QPalette pal = ui->ColorDisplay->palette();
        //設(shè)置調(diào)色板
        pal.setColor(QPalette::Base, color);
        //設(shè)置控件底色
        ui->ColorDisplay->setPalette(pal);
    });

    //當(dāng)文本框編輯結(jié)束時(shí),根據(jù)color成員變量顯示其RGB字符串
    connect(ui->ColorLineEdit, &QLineEdit::editingFinished, this, [=](){
        //當(dāng)alpha通道值為255(默認(rèn))時(shí),LineEdit默認(rèn)不顯示alpha通道值
        if(color.alpha() == 255)
        {
            QString colorStr = QString::number(color.red()) + "; " + QString::number(color.green()) + "; " + QString::number(color.blue());
            ui->ColorLineEdit->setText(colorStr);
        }
        else
        {
            QString colorStr = QString::number(color.red()) + "; " + QString::number(color.green()) + "; " + QString::number(color.blue()) + "; " + QString::number(color.alpha());
            ui->ColorLineEdit->setText(colorStr);
        }
    });

    connect(ui->btn_SelectColor, &QPushButton::clicked, this, [=](){
        //打開(kāi)一個(gè)顏色對(duì)話(huà)框并將其返回值交給局部變量_color
        QColor _color = QColorDialog::getColor();
        //判斷返回的顏色是否有效
        if(_color.isValid())
        {
            //有效則改變顏色并發(fā)送信號(hào)
            color = _color;
            //當(dāng)顏色改變時(shí),發(fā)送“顏色改變信號(hào)”
            emit colorchanged(color);
        }
        //根據(jù)對(duì)話(huà)框返回的顏色修改顏色展示方塊的顏色
        QPalette pal = ui->ColorDisplay->palette();
        //設(shè)置調(diào)色板
        pal.setColor(QPalette::Base, color);
        //設(shè)置控件底色
        ui->ColorDisplay->setPalette(pal);
        //根據(jù)對(duì)話(huà)框返回的顏色獲取RGB三色字符串
        QString colorStr = QString::number(color.red()) + "; " + QString::number(color.green()) + "; " + QString::number(color.blue());
        ui->ColorLineEdit->setText(colorStr);
    });
}

/**
 * @brief 獲取當(dāng)前顏色方法
 * @return QColor   ———— 返回當(dāng)前QColor顏色對(duì)象
 */
QColor MyPalette::currentColor()
{
    return color;
}

/**
 * @brief 設(shè)置顏色方法
 * @param int r ———— 紅色
 * @param int g ———— 綠色
 * @param int b ———— 藍(lán)色
 * @param int a ———— Alpha通道值(0完全透明~255完全不透明)
 */
void MyPalette::setColor(int r, int g, int b, int a)
{
    if(a == 255)
    {
        //設(shè)置RGB三色字符串
        QString colorStr = QString::number(r) + "; " + QString::number(g) + "; " + QString::number(b);
        //setText()方法也會(huì)觸發(fā)QLineEdit的textChanged信號(hào)
        ui->ColorLineEdit->setText(colorStr);
    }
    else
    {
        //設(shè)置RGB三色字符串
        QString colorStr = QString::number(r) + "; " + QString::number(g) + "; " + QString::number(b) + "; " + QString::number(a);
        //setText()方法也會(huì)觸發(fā)QLineEdit的textChanged信號(hào)
        ui->ColorLineEdit->setText(colorStr);
    }
}

/**
 * @brief 設(shè)置顏色方法
 * @param QColor color ———— QColor顏色對(duì)象
 */
void MyPalette::setColor(QColor color)
{
    if(color.alpha() == 255)
    {
        //設(shè)置RGB三色字符串
        QString colorStr = QString::number(color.red()) + "; " + QString::number(color.green()) + "; " + QString::number(color.blue());
        //setText()方法也會(huì)觸發(fā)QLineEdit的textChanged信號(hào)
        ui->ColorLineEdit->setText(colorStr);
    }
    else
    {
        //設(shè)置RGB三色字符串
        QString colorStr = QString::number(color.red()) + "; " + QString::number(color.green()) + "; " + QString::number(color.blue()) + "; " + QString::number(color.alpha());
        //setText()方法也會(huì)觸發(fā)QLineEdit的textChanged信號(hào)
        ui->ColorLineEdit->setText(colorStr);
    }
}

/**
 * @brief 重寫(xiě)事件過(guò)濾器方法
 * @attention 這里簡(jiǎn)要說(shuō)下為什么要重寫(xiě)該方法,這是因?yàn)楫?dāng)我們的自定義控件中有其他子控件時(shí),
 * 點(diǎn)擊子控件的點(diǎn)擊響應(yīng)是相應(yīng)到子控件上的,而通常我們希望所有子控件的父對(duì)象(也就是自定義控
 * 件本身)也會(huì)在點(diǎn)擊這些子控件時(shí)有響應(yīng)
 * @param QMouseEvent *event ———— 事件對(duì)象
 */
bool MyPalette::eventFilter(QObject *watched, QEvent *event)
{
  //攔截子控件的鼠標(biāo)按下或釋放事件
  if(event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonRelease)
  {
    //QEvent類(lèi)型轉(zhuǎn)換為QMouseEvent類(lèi)型
    QMouseEvent *mouseevent = static_cast<QMouseEvent *>(event);
    this->QWidget::mousePressEvent(mouseevent);    //調(diào)用基類(lèi)的mousePressEvent方法
    //如果事件的被監(jiān)視對(duì)象是QPushButton
    if(qobject_cast<QPushButton *>(watched))
      this->setFocus();     //設(shè)置自定義控件本身獲得焦點(diǎn)

    return false;     //傳遞事件給子控件,讓其正常響應(yīng)點(diǎn)擊
    //return true;    //事件處理完畢(不傳遞事件給子控件,只響應(yīng)自定義控件本身被選中)
  }
  //其他類(lèi)型的事件交由基類(lèi)處理
  return QWidget::eventFilter(watched, event);
}

MyPalette::~MyPalette()
{
    delete ui;
}

4.3、ui文件

? UI文件僅能在設(shè)計(jì)模式下編輯,這里僅供布局參考!

<!-- mypalette.ui -->

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MyPalette</class>
 <widget class="QWidget" name="MyPalette">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>299</width>
    <height>188</height>
   </rect>
  </property>
  <property name="baseSize">
   <size>
    <width>140</width>
    <height>25</height>
   </size>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <property name="autoFillBackground">
   <bool>true</bool>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout">
   <property name="spacing">
    <number>0</number>
   </property>
   <property name="leftMargin">
    <number>0</number>
   </property>
   <property name="topMargin">
    <number>0</number>
   </property>
   <property name="rightMargin">
    <number>0</number>
   </property>
   <property name="bottomMargin">
    <number>0</number>
   </property>
   <item>
    <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0">
     <property name="spacing">
      <number>2</number>
     </property>
     <property name="leftMargin">
      <number>0</number>
     </property>
     <property name="topMargin">
      <number>0</number>
     </property>
     <property name="rightMargin">
      <number>0</number>
     </property>
     <property name="bottomMargin">
      <number>0</number>
     </property>
     <item>
      <widget class="QGraphicsView" name="ColorDisplay">
       <property name="sizePolicy">
        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
         <horstretch>0</horstretch>
         <verstretch>0</verstretch>
        </sizepolicy>
       </property>
       <property name="minimumSize">
        <size>
         <width>16</width>
         <height>16</height>
        </size>
       </property>
       <property name="maximumSize">
        <size>
         <width>16</width>
         <height>16</height>
        </size>
       </property>
       <property name="baseSize">
        <size>
         <width>16</width>
         <height>16</height>
        </size>
       </property>
       <property name="autoFillBackground">
        <bool>true</bool>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QLineEdit" name="ColorLineEdit">
       <property name="autoFillBackground">
        <bool>true</bool>
       </property>
       <property name="text">
        <string>255; 255; 255</string>
       </property>
       <property name="maxLength">
        <number>18</number>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="btn_SelectColor">
       <property name="sizePolicy">
        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
         <horstretch>0</horstretch>
         <verstretch>0</verstretch>
        </sizepolicy>
       </property>
       <property name="minimumSize">
        <size>
         <width>16</width>
         <height>16</height>
        </size>
       </property>
       <property name="maximumSize">
        <size>
         <width>16</width>
         <height>16</height>
        </size>
       </property>
       <property name="baseSize">
        <size>
         <width>16</width>
         <height>16</height>
        </size>
       </property>
       <property name="autoFillBackground">
        <bool>true</bool>
       </property>
       <property name="text">
        <string>...</string>
       </property>
      </widget>
     </item>
    </layout>
   </item>
  </layout>
 </widget>
 <resources/>
 <connections/>
</ui>

5、使用方法:

  • 顏色選擇組合控件封裝了一個(gè)自定義信號(hào) colorchanged,該信號(hào)會(huì)在顏色發(fā)生改變時(shí)被發(fā)送,使用該信號(hào)連接你的槽函數(shù)即可;

????????colorchanged?信號(hào)是一個(gè)帶參信號(hào),可以傳遞一個(gè) QColor 對(duì)象。比如說(shuō)我們可以通過(guò)類(lèi)似于以下的代碼去設(shè)置一個(gè) PushButton 控件的顏色:

connect(ui->myPalette, &MyPalette::colorchanged, this, [=](QColor color){
    QPalette pal = ui->btn->palette();
    //注:使用QPalette::Button枚舉值設(shè)置按鈕顏色時(shí),alpha通道值是無(wú)效的
    pal.setColor(QPalette::Button, color);
    ui->btn->setPalette(pal);
});
  • 通過(guò) currentColor()?成員方法可以在代碼里獲取對(duì)象的顏色屬性,該方法返回一個(gè) QColor 對(duì)象;
  • 通過(guò) setColor() 成員方法可以在代碼里設(shè)置對(duì)象的顏色屬性,該方法有一個(gè)重載;

????????當(dāng)然,setColor() 成員方法也會(huì)觸發(fā)發(fā)送 colorchanged 信號(hào)。

6、注意事項(xiàng):

請(qǐng)參考文章:Qt自定義控件 —— 子控件與父控件的鼠標(biāo)事件問(wèn)題https://blog.csdn.net/YMGogre/article/details/129357734

??本文提供的代碼是已經(jīng)解決了上面文章中涉及的問(wèn)題后的代碼。

7、源碼下載:

CSDN下載:Qt自定義控件-顏色選擇組合控件-C++文檔類(lèi)資源-CSDN文庫(kù)https://download.csdn.net/download/YMGogre/87541452文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-684858.html

到了這里,關(guān)于Qt自定義控件 —— 顏色選擇組合控件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • qt 系列(二)---qt designer通過(guò)設(shè)置控件樣式表進(jìn)行背景顏色設(shè)置

    qt 系列(二)---qt designer通過(guò)設(shè)置控件樣式表進(jìn)行背景顏色設(shè)置

    1. 前言 一般Layouts不可以進(jìn)行改變樣式表,當(dāng)我們想修改背景樣式表,同時(shí)又不改變其他控件的顏色時(shí),可以選擇List View 控件改變背景顏色。 2. 設(shè)置背景 (1)配置 .qrc 文件 新建mypicture.qrc文件,記事本打開(kāi) (2)右鍵選擇項(xiàng)目–添加–現(xiàn)有項(xiàng),選擇建立的.qrc文件,此時(shí),項(xiàng)

    2024年02月06日
    瀏覽(91)
  • Qt解析含顏色的QString字符串顯示到控件

    Qt解析含顏色的QString字符串顯示到控件

    1、需求 開(kāi)發(fā)接收含顏色字符串顯示到窗口,可解析字符串顏色配置窗口屬性,且分割字符串顯示。 mprintf(“xxxxxx”);打印的xxxxxx含有顏色配置。 2、實(shí)現(xiàn)方法 2.1、條件 選用Qt的PlainTextEdit控件顯示字符串,配置為只讀模式 初始化串口成功后,用下列代碼綁定串口信號(hào),收到

    2024年01月25日
    瀏覽(17)
  • Qt應(yīng)用開(kāi)發(fā)(基礎(chǔ)篇)——顏色選擇器 QColorDialog

    Qt應(yīng)用開(kāi)發(fā)(基礎(chǔ)篇)——顏色選擇器 QColorDialog

    ???????? QColorDialog 類(lèi)繼承于QDialog,是一個(gè)設(shè)計(jì)用來(lái)選擇顏色的對(duì)話(huà)框部件。 ????????對(duì)話(huà)框窗口 QDialog ???????? QColorDialog 顏色選擇器一般用來(lái)讓用戶(hù)選擇顏色,比如畫(huà)圖工具中選擇畫(huà)筆的顏色、刷子的顏色等。你可以使用靜態(tài)函數(shù) QColorDialog::getColor() 直接顯示對(duì)

    2024年02月10日
    瀏覽(51)
  • 【Qt UI】QT 窗口/控件置頂方法詳解

    【Qt UI】QT 窗口/控件置頂方法詳解

    在QT開(kāi)發(fā)中,有時(shí)候我們需要讓某個(gè)窗口或控件始終顯示在其他窗口之上。這種需求在多窗口應(yīng)用或者彈出提示框等場(chǎng)景中非常常見(jiàn)。本文將詳細(xì)介紹如何在QT5和QT6中實(shí)現(xiàn)這一功能,并對(duì)兩者之間的差異進(jìn)行深入分析。 使用 Qt::WindowStaysOnTopHint 標(biāo)志 在QT5中,最常用的窗口置頂

    2024年02月05日
    瀏覽(30)
  • Qt--自定義控件

    Qt--自定義控件

    Qt中提供了應(yīng)用在各種場(chǎng)景的控件,使開(kāi)發(fā)人員在實(shí)際工作中選擇。但有些特定的場(chǎng)合中這些控件并不滿(mǎn)足需要時(shí),Qt允許使用自定義的控件。 例:我們?cè)诠ぷ髦杏羞@樣一種需求,點(diǎn)擊按鈕會(huì)根據(jù)一些其他狀態(tài)來(lái)顯示不同的圖片,這時(shí)Qt提供的QPushButton就無(wú)法滿(mǎn)足這種需求,這

    2024年02月16日
    瀏覽(15)
  • qt設(shè)置tablewidget顏色、添加選擇框、添加按鈕和進(jìn)度條

    qt設(shè)置tablewidget顏色、添加選擇框、添加按鈕和進(jìn)度條

    添加選擇框 在代碼中設(shè)置tablewidget的樣式表 設(shè)置表格,添加選擇框 cellClicked事件響應(yīng),當(dāng)點(diǎn)擊表格項(xiàng),對(duì)復(fù)選框進(jìn)行選中和取消選擇 添加進(jìn)度條和按鈕 設(shè)置表格 建立按鈕和處理函數(shù)的信號(hào)槽連接,讓按鈕點(diǎn)擊,進(jìn)度條移動(dòng) 槽函數(shù)和進(jìn)度條控件 項(xiàng)目下載 https://download.csdn.n

    2024年02月11日
    瀏覽(27)
  • qt自定義控件的封裝

    qt自定義控件的封裝

    剛學(xué)了一個(gè)很有意思的東西,前面學(xué)了list,Tree,Table三大控件和一部分常用基礎(chǔ)控件,但感覺(jué)沒(méi)啥意思,就是用別人的直接用,剛學(xué)了一個(gè)自定義控件的封裝,流程如下: ? 想把兩個(gè)不相關(guān)的組件封裝在一塊,直接用ui不行,所以先新添加了qt設(shè)計(jì)師頁(yè)面,新添加了一個(gè)SmallWidget *ui 在smallw

    2024年01月23日
    瀏覽(15)
  • QT:自定義控件(Connect使用,子控件連接)

    QT:自定義控件(Connect使用,子控件連接)

    1.舉例:主頁(yè)面為mainwindow,設(shè)置的子控件為Form 2.主界面 3.子控件中需要實(shí)現(xiàn):QSpinBox移動(dòng) QSlider跟著移動(dòng),QSlider移動(dòng) QSpinBox數(shù)字跟著改變 還需要實(shí)現(xiàn),在主界面中讀取和設(shè)置子控件的數(shù)值: 子控件添加接口: 主界面通過(guò)按鈕調(diào)用接口:

    2024年02月13日
    瀏覽(25)
  • 【Qt UI相關(guān)】Qt設(shè)置窗體或控件的背景色透明

    【Qt UI相關(guān)】Qt設(shè)置窗體或控件的背景色透明

    在Qt中, QPalette (調(diào)色板)類(lèi)用于設(shè)置窗體或控件的外觀顏色。首先,需要在代碼中包含 QPalette 或 QGui 頭文件。 然后,在構(gòu)造函數(shù)中添加以下代碼來(lái)設(shè)置窗體的透明度: 這里,我們使用 QPalette::Background 來(lái)設(shè)置窗體的背景色,并將其設(shè)置為全透明。 效果: 窗口整體透明,但

    2024年02月05日
    瀏覽(99)
  • 【Qt】6.QTableWidget控件、其他控件、自定義控件封裝、鼠標(biāo)事件

    【Qt】6.QTableWidget控件、其他控件、自定義控件封裝、鼠標(biāo)事件

    目錄 QTableWidget控件 代碼 widget.cpp 結(jié)果 其他控件 stackWidget??丶?下拉框 代碼 widget.cpp 結(jié)果 自定義控件封裝 代碼 smallwidget.h smallwidget.cpp widget.cpp 結(jié)果 鼠標(biāo)事件 代碼 mylabel.h mylabel.cpp 結(jié)果 設(shè)置列數(shù)setColumnCount 添加水平頭setHorizontalHeaderLabels 設(shè)置行數(shù)setRowCount 設(shè)置正文setItem(行號(hào)

    2024年02月07日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包