本文主要是介绍QComboBox中QAbstractItemView宽度设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
欢迎关注公众号可以查看更多完整文章
在开发时遇到需要将QComboBox显示Item的View宽度增加,使其宽于QComboBox本身,否则Item中的文本显示不全。
设置方法有两种,一是使用styleSheet,而是直接访问QAbstractItemView设置。
详细请参见代码:
#pragma once#include <QtWidgets/QComboBox>class QComboBoxEx : public QComboBox
{Q_OBJECTpublic:QComboBoxEx(QWidget *parent = Q_NULLPTR);~QComboBoxEx(){};void initUi(bool bStyleSheet);
};
#include "QComboBoxEx.h"
#include <QAbstractItemView>QComboBoxEx::QComboBoxEx(QWidget *parent): QComboBox(parent)
{}void QComboBoxEx::initUi(bool bStyleSheet)
{if (bStyleSheet){setStyleSheet(QString("QComboBox{height:20px;width:200px}""QAbstractItemView{min-width:400px;height:200px}"));}else{const_cast<QAbstractItemView*>(this->view())->setMinimumWidth(400);}QStringList list;list << QString("Item1") << QString("Item2") << QString("Item3") << QString("Item4") << QString("Item5");addItems(list);
}
#include "QComboBoxEx.h"
#include <QtWidgets/QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);QComboBoxEx w;w.initUi(false);w.show();return a.exec();
}
交流q:1245178753
本文地址:QComboBox中QAbstractItemView宽度设置_GreenArrowMan-CSDN博客-CSDN博客
这篇关于QComboBox中QAbstractItemView宽度设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!