日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qt自定义行编辑器,用来加载颜色

發布時間:2024/9/27 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qt自定义行编辑器,用来加载颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提要

自定義行編輯器,點擊后彈出顏色選擇對話框,選擇喜歡的顏色,確認后在行編輯器加載選中的顏色。

效果



選中某一個顏色后,行編輯器中加載所選的顏色。

示例

mylineedit.h

#ifndef MYLINEEDIT_H #define MYLINEEDIT_H#include <QWidget> #include <QLineEdit>/******類功能描述:自定義行編輯器,可加載顏色*****/ class myLineEdit : public QLineEdit { Q_OBJECT public:myLineEdit(QWidget *parent = nullptr);~myLineEdit();void setBackgroundColor(QColor &color);//設置顏色QColor getBackgroundColor();//獲取設置的顏色protected:void paintEvent(QPaintEvent *event);//繪制編輯框的背景色void mousePressEvent(QMouseEvent *event);//鼠標點擊出現顏色對話框 private:QColor m_color;//保存行編輯器的背景色 };#endif // MYLINEEDIT_H

mylineedit.cpp

#include "mylineedit.h" #include <QMouseEvent> #include <QColorDialog> #include <QFontDialog>myLineEdit::myLineEdit(QWidget *parent) :QLineEdit(parent) {m_color = QColor(255,170,127,255);setReadOnly(true);//設置不可編輯 }myLineEdit::~myLineEdit() {}void myLineEdit::setBackgroundColor(QColor &color) {m_color = color;update(); }QColor myLineEdit::getBackgroundColor() {return m_color; }void myLineEdit::paintEvent(QPaintEvent *event) {QPalette pal;pal.setBrush(QPalette::Base,QColor(m_color));setPalette(pal);QLineEdit::paintEvent(event); }void myLineEdit::mousePressEvent(QMouseEvent *event) {if(event->button() == Qt::LeftButton){QColorDialog colorDlg(this);colorDlg.setFixedSize(600,500);colorDlg.setWindowTitle("顏色選擇對話框");colorDlg.setCurrentColor(QColor(170,0,0,255));if(colorDlg.exec() == QColorDialog::Accepted){QColor color = colorDlg.currentColor();setBackgroundColor(color);}}QLineEdit::mousePressEvent(event); }

以上便可以實現行編輯器用來加載顏色,使用時將該類的頭文件和源文件拷進到項目中,包含該類的頭文件,在ui文件中拖入QLineEdit控件,在控件上右鍵,選擇提升為,彈出提升的窗口部件對話框,填寫提升的類名稱時,將類名myLineEdit直接拷貝到提升的類名稱的后面的編輯框中,會自動加載下面的頭文件后面的內容,勾選全局包含時,整個程序中的QLineEdit控件都可以使用該類來提升,點擊添加按鈕,然后點擊提升按鈕。原本的行編輯器就變為了自定義的行編輯器。

總結

以上是生活随笔為你收集整理的qt自定义行编辑器,用来加载颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。