QComboBox 在 Linux 下不显示滚动条

当Qt程序中的QComboBox在Linux下显示过多数据时不出现滚动条,而在Windows下正常。问题源于QComboBox的maxVisibleItems属性在Mac或Gtk+风格下无效。解决方法是通过setStyle接口设置为Windows风格,利用QStyleFactory的create()函数,并通过keys()了解可创建的风格选项。
摘要由CSDN通过智能技术生成

大家可能会遇到自己的 Qt 界面程序中 QComboBox 部件在 Linux 下点击下拉后不出现滚动条(当数据项比较多时),而是一股脑的占满了纵向整个屏幕:
Combo_Fusion
但同一个程序在 Windows 下却能得到我们想要的效果:
Combo_Windows
这其实和 QComboBox 的 maxVisibleItems 属性有关,该属性通过代码和 designer 都可以设置:
Combo_maxVisibleItems

可以仅仅设置了该属性值还不够,Qt6.1.1官方手手册对该属性描述如下:

maxVisibleItems : int
This property holds the maximum allowed size on screen of the combo box, measured in items
By default, this property has a value of 10.
Note: This property is ignored for non-editable comboboxes in styles that returns true for QStyle::SH_ComboBox_Popup such as

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值