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);

QT的QComboBox是一个列表框,当我们想要显示完整的选项字符串时,只需要添加选项的时候执行下面的代码就可以重新设置列表框宽度QPainter p(this);QFontMetrics fm = p.fontMetrics();int maxLen = 0;计算字符串的宽度maxLen = fm.width("zifuchuan");通过设置样式设置列表框宽度ui-...
QT 的combobox 下拉 列表的 宽度 默认情况下与combobox本身的 宽度 是一致的,但是有时候 下拉 列表的文字很长,显示不开的时候,就需要我们手动设置其 宽度 , 原理是遍历每一项的长度,找到最大长度,然后使用setFixedWidth函数设置combobox的显示 宽度 能够容纳这个最长的item即可。 用到一个知识点:百度搜索“字号尺寸大小对照表”, 假设item的字体我们设置为9号字,字体的单位...
#include < QComboBox > #include <QListView> setStyleSheet(" QComboBox { min-height: 40px; min-width: 60px; }" " QComboBox QAbstractItemView::item { min-height: 40px; min-width: ...
QComboBox 小部件是一个组合按钮和弹出列表。 QComboBox 提供了一种向用户呈现 选项 列表的方法,这种方式占用了最少的屏幕空间。 组合框是显示当前项的选择小部件,可以弹出可选择项的列表。组合框可以编辑,允许用户修改列表中的每个项。 组合框可以包含pixmap和字符串;insertItem()和setItemText()函数被适当重载。对于可编辑组合框,提供函数... self.comboBox.addItem("默认 文本 ") #从列表中添加 下拉 选项 self.comboBox.addItems([" 文本 1", " 文本 2", " 文本 3"]) 2、设置显示项目 self.comboBox.setCurrentIndex(2) 3、获取 选项 中的索引 self.comboBox.currentIndex() 4、获取选中项的 文本 self.comboBox.currentText()
QCombobox 控件在嵌入式设备的应用中,如果采用 QT 自带的 QCombobox 控件,在操作过程中使用非常不便。因为自带的控件, 下拉框 按钮和滑动条非常窄,不便于操作。所以增 下拉 按钮及滑动条的大小非常有必要。在样式表中添加 QComboBox {padding-right: 0px;} QComboBox ::drop-down {width:30px;}//加 下拉框 按钮 QScro
可以使用 ` QComboBox .view().sizeHintForColumn(column)` 方法来获取 下拉 列表中第 `column` 列的内容 宽度 ,然后根据 宽度 调整 下拉 列表的 宽度 。 以下是一个示例代码: ```python from Py Qt 5. Qt Widgets import QApplication, QComboBox , QListView app = QApplication([]) combo = QComboBox () combo.setView(QListView()) # 将 下拉 列表设置为 QListView,方便设置 宽度 # 添加 下拉 列表项 combo.addItem("Item 1") combo.addItem("A very long item 2") combo.addItem("Item 3") combo.addItem("A very very long item 4") # 计算 下拉 列表需要的 宽度 view = combo.view() max_width = 0 for i in range(combo.count()): text = combo.itemText(i) width = view.sizeHintForColumn(0) # 获取第 0 列的 宽度 max_width = max(max_width, width) # 设置 下拉 列表的 宽度 combo.view().setFixedWidth(max_width + 20) # 增加 20px 的空白边距 combo.show() app.exec_() 上述代码中,我们将 下拉 列表的视图设置为 `QListView`,这样方便我们计算 下拉 列表的 宽度 。然后通过 `sizeHintForColumn` 方法获取第 0 列的 宽度 ,并找到最大的 宽度 ,最后将 下拉 列表的 宽度 设置为最大 宽度 加上一些空白边距。