QComboBox自适应下拉展开区域宽度但控件本身限制宽度
QComboBox的宽度是固定的,但选项的长度大于控件宽度,在下拉展开时显示不全
解决办法:根据选项的最大长度设置combobox的视图宽度,代码如下
// 计算所有选项的最大文本宽度QFontMetrics fm(comboBox->font());int maxWidth = 0;for (int i = 0; i < comboBox->count(); ++i) {int width = fm.width(comboBox->itemText(i));if (width > maxWidth) {maxWidth = width;}}comboBox->view()->setMinimumWidth(maxWidth + 10); // 增加额外宽度
效果