c++ qt/PyQt5/PySide2 comboBox 控件自适应宽度 控件下拉框自适应文字宽度
·
效果展示

pyqt5 和 pyside2 用如下的方式:
mxa_len, v_len = 0, 0
for y in range(0, comboBox.count()):
v_len = len(comboBox.itemText(y)) // 得到下拉框中内容最长值的长度
if (mxa_len <= v_len):
mxa_len = v_len
pt_val = comboBox.font().pointSize() // 获取字体的磅值
comboBox.view().setFixedWidth(mxa_len * pt_val * 0.75) // 设置自适应宽度
qt 用如下的方式:
#include "QAbstractItemView"
int mxa_len = 0, v_len = 0;
for(int idx = 0; idx < ui->comboBox->count(); idx++)
{
v_len = ui->comboBox->itemText(idx).length();
if(mxa_len <= v_len) mxa_len = v_len; // 得到下拉框中内容最长值的长度
}
int pt_val = ui->comboBox->font().pointSize(); // 获取字体的磅值
ui->comboBox->view()->setFixedWidth(mxa_len * pt_val * 0.75); // 设置自适应宽度
更多推荐



所有评论(0)