Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: vux от Август 20, 2012, 19:17



Название: ширина текста в QSpinBox
Отправлено: vux от Август 20, 2012, 19:17
Есть например QSpinBox. Когда значение меняеться, хотелось бы автоматически подганять ширину по количеству знаков. Сходу не особо задумываясь устанавливал ширину на основе длины строки. Но потом понял что символы ведь разной ширины. Вопрос можно ли узнать область занимаемую текстом в QLineEdit\QSpinBox - чтобы соответственно сигналом менять ширину контрола?


Название: Re: ширина текста в QSpinBox
Отправлено: QtCoder от Август 21, 2012, 06:28
QFontMetrics


Название: Re: ширина текста в QSpinBox
Отправлено: vux от Август 21, 2012, 13:40
То шо нада. Но мой питоновский код всеравно дает не ту ширину:
Код
Python
spinbox = QSpinBox()
text = spinbox.text()
spinbox.setFixedWidth( spinbox.lineEdit().fontMetrics().width(text) )
      


Название: Re: ширина текста в QSpinBox
Отправлено: QtCoder от Август 21, 2012, 14:14
То шо нада. Но мой питоновский код всеравно дает не ту ширину:
Код
Python
spinbox = QSpinBox()
text = spinbox.text()
spinbox.setFixedWidth( spinbox.lineEdit().fontMetrics().width(text) )
      
у spinbox еще стрелочки есть. ты ставишь ширину на весь спинбокс


Название: Re: ширина текста в QSpinBox
Отправлено: vux от Август 21, 2012, 14:27
стрелочки уже отклычены


Название: Re: ширина текста в QSpinBox
Отправлено: Kurles от Август 22, 2012, 11:06
стрелочки уже отклычены
А еще бордюр и прочие украшательства виджета.


Название: Re: ширина текста в QSpinBox
Отправлено: vux от Август 22, 2012, 16:05
это уже понятно. В моем случае +8 пикселей дает вполне то шо нада. Всем спасиба...