Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: woka от Апрель 28, 2012, 15:11



Название: combobox текст показывает с начала?
Отправлено: woka от Апрель 28, 2012, 15:11
Хороший(добрый) день.
в программе есть кнопки увеличения изображения и combobox с помощью которого можно выбрать установленные значения. в combobox в конце значения добавляю знак "%".
при изменении размера в окошко влазит только последняя цифра и знак процента. подскажите как сделать чтобы сначала была цифра, а потом уже сколько влезет знака процента.


Название: Re: combobox текст показывает с начала?
Отправлено: Пантер от Апрель 28, 2012, 15:16
Покажи скриншот. Лайоты используешь?


Название: Re: combobox текст показывает с начала?
Отправлено: woka от Апрель 28, 2012, 15:30
(http://www.valar.ru/gallery/0412/1335615940.png)в первом случае видно при изменение. этот виджет добавляется в другой виджет который там компонуется. изменять размеры я не могу


Название: Re: combobox текст показывает с начала?
Отправлено: Пантер от Апрель 28, 2012, 15:40
http://doc-snapshot.qt-project.org/4.8/qcombobox.html#lineEdit
http://doc-snapshot.qt-project.org/4.8/qlineedit.html#alignment-prop


Название: Re: combobox текст показывает с начала?
Отправлено: woka от Апрель 28, 2012, 17:39
не помогло. не знаю почему но не помогло, хотя должно было. что ещё можно сделать


Название: Re: combobox текст показывает с начала?
Отправлено: V1KT0P от Апрель 28, 2012, 18:00
не помогло. не знаю почему но не помогло, хотя должно было. что ещё можно сделать
Не помогло ибо это меняет выравнивание, а тебе не выравнивание нужно а смена позиции.
Используй:
Код
C++ (Qt)
ui->comboBox->lineEdit()->setCursorPosition(0);


Название: Re: combobox текст показывает с начала?
Отправлено: woka от Апрель 29, 2012, 01:45
да и тоже не помогло. хотя на отдельно взятом lineEdit она свои функции выполняет прекрасно. а у меня программа компилируется, запускается и выскакивает ошибка и программа закрывается. без этого всё хорошо работает, но не так как надо. в справке написано что это свойство вроде бы как и изначально идёт. подскажите что делать


Название: Re: combobox текст показывает с начала?
Отправлено: iroln от Апрель 29, 2012, 02:22
1. setCursorPosition(0) должно работать.
2. Виджет combobox'а слишком маленький. Надо задать минимальный размер побольше через setMinimumWidth()


Название: Re: combobox текст показывает с начала?
Отправлено: Dr.Vlad от Апрель 29, 2012, 09:32
да и тоже не помогло. хотя на отдельно взятом lineEdit она свои функции выполняет прекрасно. а у меня программа компилируется, запускается и выскакивает ошибка и программа закрывается. без этого всё хорошо работает, но не так как надо. в справке написано что это свойство вроде бы как и изначально идёт. подскажите что делать

У меня по умолчанию в comboBox и без setCursorPosition(int) всё работает. Глючок-с.
Это когда comboBox раздвигаешь, а первые две позиции текста снова вперёд уползают.
Сочувствую.
Попробуйте в layout вручную созданный comboBox встраивать или переустановить Qt.


Название: Re: combobox текст показывает с начала?
Отправлено: V1KT0P от Апрель 29, 2012, 14:06
да и тоже не помогло. хотя на отдельно взятом lineEdit она свои функции выполняет прекрасно. а у меня программа компилируется, запускается и выскакивает ошибка и программа закрывается. без этого всё хорошо работает, но не так как надо. в справке написано что это свойство вроде бы как и изначально идёт. подскажите что делать
Значит ты что-то делаешь не так. "ui->comboBox->lineEdit()->setCursorPosition(0);" надо вызывать каждый раз после изменения текста в комбобоксе. В аттаче скрин на котором показано что все работает отлично. Ищи ошибку у себя.


Название: Re: combobox текст показывает с начала?
Отправлено: woka от Май 05, 2012, 03:47
спасибо. а подскажите как уменьшить размер стрелки в combobox. я пробовал через стили, но что то ничего не  получилось. а пробовал drop-down и down-arrow.  даже просто раскрасить не получилось


Название: Re: combobox текст показывает с начала?
Отправлено: iroln от Май 05, 2012, 10:50
спасибо. а подскажите как уменьшить размер стрелки в combobox. я пробовал через стили, но что то ничего не  получилось. а пробовал drop-down и down-arrow.  даже просто раскрасить не получилось
Это надо через стили картинку ставить.
Как-то так:
Код
CSS
QComboBox::down-arrow
{
    image: url(:/images/down_arrow.png);
}