QCombox设置下拉框字体颜色无效的解决办法

constexpr const char* kCombox = R"(
		QComboBox {
			color:#95949D;
			background:#333348;
			border-radius:4px;
			font: normal 12px 'Microsoft YaHei';
		}
		QComboBox::drop-down {
			background:#333348;
			border:none;
			subcontrol-position:top right;
		}
		QComboBox::down-arrow {
			image:url(./resource/roomset/combo_box_more.png);
		}
		QComboBox QAbstractItemView::item{
			background:#1D1D33;
			color:#FF95949D;
			font:normal 12px 'Microsoft YaHei';
		}
		QComboBox QAbstractItemView::item:hover {
			background:#233E5B;
			color:#FF95949D;
		}
	)";

今天设置qss的样式,都没有效果

后来看到一篇解决办法:

需要设置这个才能对item有效:

void QComboBox::setView(QAbstractItemView *itemView)

Sets the view to be used in the combobox popup to the given itemView. The combobox takes ownership of the view.

Note: If you want to use the convenience views (like QListWidget, QTableWidget or QTreeWidget), make sure to call setModel() on the combobox with the convenience widgets model before calling this function.

将组合框弹出窗口中要使用的视图设置为给定的项视图。组合框拥有视图的所有权。

注意:如果要使用便利视图(如qlistwidget、qtablewidget或qtreewidget),请确保在调用此函数之前使用便利窗口小部件模型调用组合框中的setmodel()。

See also view()

m_cbxAudioOutDeviceList = new QComboBox;
m_cbxAudioOutDeviceList->setStyleSheet(RoomSettingStyle::kCombox);
m_cbxAudioOutDeviceList->setView(new QListView());

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值