1
我有一個QComboBox
其中包含長字符串。 Long表示字符串比我的GUI
上的QComboBox
的寬度更寬。在這種情況下Qt
會以這種方式顯示的項目:將視圖的寬度設置爲QComboBox的最長項目
以前我是用MatLab
具有較少的用戶友好GUI
但對於一個下拉列表我覺得MatLab
解決方案是更好的工作:
有沒有簡單的方法來達到類似的結果Qt
或者我必須設置用於此目的的自定義模型和視圖?
我有一個QComboBox
其中包含長字符串。 Long表示字符串比我的GUI
上的QComboBox
的寬度更寬。在這種情況下Qt
會以這種方式顯示的項目:將視圖的寬度設置爲QComboBox的最長項目
以前我是用MatLab
具有較少的用戶友好GUI
但對於一個下拉列表我覺得MatLab
解決方案是更好的工作:
有沒有簡單的方法來達到類似的結果Qt
或者我必須設置用於此目的的自定義模型和視圖?
我已經做了幾年。應該工作正常。
//determinge the maximum width required to display all names in full
int max_width = 0;
QFontMetrics fm(ui.comboBoxNames->font());
for(int x = 0; x < NamesList.size(); ++x)
{
int width = fm.width(NamesList[x]);
if(width > max_width)
max_width = width;
}
if(ui.comboBoxNames->view()->minimumWidth() < max_width)
{
// add scrollbar width and margin
max_width += ui.comboBoxNames->style()->pixelMetric(QStyle::PM_ScrollBarExtent);
max_width += ui.comboBoxNames->view()->autoScrollMargin();
// set the minimum width of the combobox drop down list
ui.comboBoxNames->view()->setMinimumWidth(max_width);
}
我會在1或2天的時間內嘗試。提前致謝。當用ui.comboBoxNames-> itemText替換NamesList時, –
可以正常工作。 – FourtyTwo