Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: kkk777kkk от Сентябрь 10, 2009, 11:43



Название: Как сделать, чтоб текст вылезал за ширину QComboBox
Отправлено: kkk777kkk от Сентябрь 10, 2009, 11:43
У меня на форме есть около пяти ComboBoxов. В одном из них элементы списка слишком длинные и полностью из не видно. Хотелось бы сделать так, чтоб в выпавшем списке строки не обрезались до ширины самого контрола, а показывались полностью.  ???

Спасибо откликнувшимся  :)


Название: Re: Как сделать, чтоб текст вылезал за ширину QComboBox
Отправлено: SABROG от Сентябрь 10, 2009, 17:14
Несколько топорно, но думаю намек понятен:

Код
C++ (Qt)
qint32 width = 0;
QFontMetrics fm(ui->comboBox->font());
for(int i = 0; i < ui->comboBox->count(); ++i)
   width = qMax(fm.width(ui->comboBox->itemText(i)), width);
ui->comboBox->view()->setMinimumWidth(width + 10)
 

(http://img33.imageshack.us/img33/776/comboboxz.png)


Название: Re: Как сделать, чтоб текст вылезал за ширину QComboBox
Отправлено: kkk777kkk от Сентябрь 11, 2009, 00:19
о, спасибо большое, классно получилось, завтра поиграюсь с этим на работе