最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt6.0?qproperty-*不生效原因解決分析

 更新時間:2023年08月24日 11:10:12   作者:點墨  
這篇文章主要為大家介紹了Qt6.0?qproperty-*不生效原因解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

qt樣式屬性

qt的qss樣式是可以使用基本屬性和property屬性的,比如我們想改變組件的minimumSize有兩種方法

1.代碼里寫

qLabel->setMinimumSize (100,200);

2.qss里寫

QLabel{
    qproperty-minimumSize:100px 200px;
}

但是,你會發(fā)現(xiàn)有些property屬性寫了不生效,比如說(它用了枚舉值)

QLabel{
    qproperty-alignment:AlignCenter;
}

在有些論壇里有說是可以這么寫的

什么原因呢?估計是在舊版本里Qt對AlignCenter字符串做了解析,新版本里不再識別它了,那么怎么解決呢?使用Qt::AlignCenter或Qt.AlignCenter?都是不行的,我們知道枚舉值默認(rèn)情況下都是int型的,那么我們直接設(shè)置int是不是就可以?

ok,那么我們打印下AlignCenter的值

qDebug() << Qt::AlignCenter << static_cast<int>(Qt::AlignCenter);

QLabel{
background-color:red;
qproperty-alignment:132;
}

ok,它生效了~

但是寫這個我們還得去查AlignCenter對應(yīng)的值,太麻煩了,怎么做才能實現(xiàn)跟QT4一樣,我寫AlignCenter你就幫我居中呢?

在setStyleSheet前增加內(nèi)容處理,對樣式文件內(nèi)容進(jìn)行正則替換,把寫的枚舉變量替換成真正的枚舉值即可。

方法定義和實現(xiàn)

template <typename T>
void insertQtStyleEnumMap();
QString replaceQtStyleEnumValue(const QString &str);
QMap<QString, int> m_qtStyleEnumMap;
QString StyleHelper::replaceQtStyleEnumValue(const QString &str) {
  QString result = str;
  QMap<QString, int>::Iterator it = m_qtStyleEnumMap.begin();
  while (it != m_qtStyleEnumMap.end()) {
    result.replace(it.key(), QString::number(it.value()));
    it++;
  }
  return result;
}
template <typename T>
void StyleHelper::insertQtStyleEnumMap() {
  QMetaEnum metaEnum = QMetaEnum::fromType<T>();
  for (int i = 0; i < metaEnum.keyCount(); i++) {
    m_qtStyleEnumMap.insert(metaEnum.key(i), metaEnum.value(i));
  }
}
insertQtStyleEnumMap<Qt::Alignment>();//在初始化的時候調(diào)用
style = replaceQtStyleEnumValue(style);  //setStyleSheet前替換枚舉變量
qApp->setStyleSheet(style);

這個時候樣式再寫

QLabel{
background-color:red;
qproperty-alignment:AlignCenter;
}

就跟寫132是一樣的了

以上就是Qt6.0 qproperty-*不生效原因解決分析的詳細(xì)內(nèi)容,更多關(guān)于Qt6.0 qproperty-*不生效的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++11新特性之列表初始化的具體使用

    C++11新特性之列表初始化的具體使用

    在我們實際編程中,我們經(jīng)常會碰到變量初始化的問題,本文主要介紹了C++11新特性之列表初始化的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++中函數(shù)匹配機制詳解

    C++中函數(shù)匹配機制詳解

    大家好,本篇文章主要講的是C++中函數(shù)匹配機制詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • C++解決輸出鏈表中倒數(shù)k個結(jié)點的問題

    C++解決輸出鏈表中倒數(shù)k個結(jié)點的問題

    這篇文章主要給大家介紹了關(guān)于如何利用C++解決輸出鏈表中倒數(shù)k個結(jié)點的問題,文中通過實例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-12-12
  • 詳解如何實現(xiàn)C++虛函數(shù)調(diào)用匯編代碼

    詳解如何實現(xiàn)C++虛函數(shù)調(diào)用匯編代碼

    多態(tài)是C++中最重要的特性之一,對虛函數(shù)的調(diào)用在C++代碼中是隨處可見的,本篇文章我們詳細(xì)探討一下,感興趣的朋友快來看看吧
    2021-11-11
  • c/c++的opencv圖像金字塔縮放實現(xiàn)

    c/c++的opencv圖像金字塔縮放實現(xiàn)

    本文主要介紹了c/c++的opencv圖像金字塔縮放實現(xiàn),通過對原始圖像進(jìn)行連續(xù)的下采樣或上采樣操作,生成一系列不同分辨率的圖像,具有一定的參考價值,感興趣的可以了解一下
    2025-05-05
  • 深入理解Java事務(wù)的原理與應(yīng)用

    深入理解Java事務(wù)的原理與應(yīng)用

    下面小編就為大家?guī)硪黄钊肜斫釰ava事務(wù)的原理與應(yīng)用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • opencv3/C++繪制幾何圖形實例

    opencv3/C++繪制幾何圖形實例

    今天小編就為大家分享一篇opencv3/C++繪制幾何圖形實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言實現(xiàn)九大排序算法的實例代碼

    C語言實現(xiàn)九大排序算法的實例代碼

    這篇文章主要給大家介紹了關(guān)于C語言實現(xiàn)九大排序算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C語言中格式化輸出符號%d、%c、%p、%x等詳解

    C語言中格式化輸出符號%d、%c、%p、%x等詳解

    格式化輸出在C語言中非常常用,提供了多種用法來控制輸出的格式,下面這篇文章主要給大家介紹了關(guān)于C語言中格式化輸出符號%d、%c、%p、%x等的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Qt使用QPainter實現(xiàn)自定義圓形進(jìn)度條

    Qt使用QPainter實現(xiàn)自定義圓形進(jìn)度條

    這篇文章主要介紹了Qt如何使用QPainter實現(xiàn)自定義圓形進(jìn)度條功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Qt有一定的幫助,需要的可以參考一下
    2022-06-06

最新評論

都匀市| 拉萨市| 福州市| 安仁县| 汝阳县| 贺兰县| 罗城| 宝鸡市| 江门市| 陵川县| 岳西县| 云林县| 中方县| 集贤县| 宁津县| 巴彦淖尔市| 惠来县| 台湾省| 长垣县| 霍州市| 新化县| 疏附县| 醴陵市| 定陶县| 泉州市| 桓台县| 沁阳市| 沈丘县| 密云县| 曲沃县| 和龙市| 如东县| 新丰县| 竹溪县| 桃源县| 如皋市| 高安市| 峨山| 阿克苏市| 阿克苏市| 汶川县|