QT的QComboBox是一个列表框,当我们想要显示完整的选项字符串时,只需要添加选项的时候执行下面的代码就可以重新设置列表框宽度
QPainter p(this);
QFontMetrics fm = p.fontMetrics();
int maxLen = 0;
计算字符串的宽度
maxLen = fm.width("zifuchuan");
通过设置样式设置列表框宽度
ui->comboBox_tmpl->setStyleSheet("QAbstractItemView{min-width:" + QString::number(maxLen) + "px;}");
另外设置下拉框的高度,即显示多少个子项
ui->m_qcombxType->setMaxVisibleItems(10);
如果设置高度没有反应,就加上下面的代码,要加在设置高度之前哦
ui->m_qcombxType->setEditable(true);