Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Вопросы, связанные с интерфейсом

Автор: AD 11.6.2008, 11:25

1) Если на панель инструментов помещать виджеты, например QLineEdit, так иконки этой панели растягиваются! Как этого избежать? Как заставить быть все иконки быть компактными, как до вставки виджетов?
2) Второй вопрос совсем простой: не найти в хелпе. Как заставить диалоговое окно не менять свои размеры? Установить fixed размеры?
3) При компиляции под каким-нибудь Линукс, можно быть уверенным что там нет шрифта Win-1251? Или все-таки предусмотрительные линуксоиды внесли некоторые кодировки и Windows? :)

заранее благодарю за помощь!

Автор: Litkevich Yuriy 11.6.2008, 12:32

Цитата(AD @ 11.6.2008, 15:25) *
Win-1251

Это не шрифт, а кодировка по этому не совсем понятно, что ты имеешь в виду

Автор: AD 11.6.2008, 12:35

Цитата(Litkevich Yuriy @ 11.6.2008, 13:32) *
Цитата(AD @ 11.6.2008, 15:25) *
Win-1251

Это не шрифт, а кодировка по этому не совсем понятно, что ты имеешь в виду

Согласен, некорректно сформулировал. Поддерживают ли Линуксы кодировки Windows?

Автор: Litkevich Yuriy 11.6.2008, 12:42

Ну да, только опять, что под этим имеется в виду? :)

Автор: void* 11.6.2008, 12:55

AD,
1)как вариант, помещать остальные виджеты на отдельной QToolBar (посмотри пример из Examples and Demos - Rich Text\Text Edit, там на панели инструментов есть QComboBox'ы и прочее)
2)два варианта:

setFixedSize(QSize(x, y)); //вместо x и y ставь свои размеры

setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); //это если наследуешься от QWidget'a или производного от него класса

3)собственно непонятен сам вопрос. Насчет кодировок, то насколько я знаю в *nix-системах обычно кодировка UTF-8

Автор: AD 11.6.2008, 13:48

Цитата(void*)
AD,
1)как вариант, помещать остальные виджеты на отдельной QToolBar (посмотри пример из Examples and Demos - Rich Text\Text Edit, там на панели инструментов есть QComboBox'ы и прочее)
2)два варианта:
setFixedSize(QSize(x, y)); //вместо x и y ставь свои размеры

setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); //это если наследуешься от QWidget'a или производного от него класса

Угу, спасибо! Сразу такой вопрос:
QToolBar имеет функцию проверки поместили ли на нее элемент или нет? Если есть, можете сказать, какая?

Автор: Litkevich Yuriy 11.6.2008, 13:59

Дак зачем тебе кодировка? Ты хочешь скопилить исходник в Линухе, строковые константы корого записаны в Win-1251?

Цитата(AD @ 11.6.2008, 17:48) *
QToolBar имеет функцию проверки поместили ли на нее элемент или нет? Если есть, можете сказать, какая?

по точнее, существует ли виджет? или произошло ли размещение(как сигнал)?

Есть такие:
QList<QAction *> QWidget::actions () const 
QWidget * QToolBar::widgetForAction ( QAction * action ) const

Автор: AD 11.6.2008, 14:33

Цитата(Litkevich Yuriy @ 11.6.2008, 14:59) *
Есть такие:
QList<QAction *> QWidget::actions () const 
QWidget * QToolBar::widgetForAction ( QAction * action ) const

QList<QAction *> QWidget::actions () const подойдет, спасибо!
Цитата(Litkevich Yuriy)
Дак зачем тебе кодировка? Ты хочешь скопилить исходник в Линухе, строковые константы корого записаны в Win-1251?

да, хочу, чтобы не выдал ошибок и отображал русский текст!

Автор: Litkevich Yuriy 11.6.2008, 14:41

будет работать если ты делаешь так:

QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
QPushButton btn(tr("Вася"));

Т.е. Qt'я преобразуют текст "Вася" из Windows-1251 во внутренюю кодировку, а дальше в нужную для отображения (видимо локальную кодировку системы)

Автор: AD 11.6.2008, 14:56

Цитата(Litkevich Yuriy @ 11.6.2008, 15:41) *
будет работать если ты делаешь так:
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
QPushButton btn(tr("Вася"));

Т.е. Qt'я преобразуют текст "Вася" из Windows-1251 во внутренюю кодировку, а дальше в нужную для отображения (видимо локальную кодировку системы)

А у меня так и сделано, значит все в порядке будет! Все спасибо эти вопросы разрешены! Но не закрывайте, пожалуйста, тему. Сюда подобного плана вопросы буду писать!

Автор: void* 11.6.2008, 15:43

мне кажется лучше для новых вопросов создавать новые темы - на всех более-менее приличных форумах так принято, иначе представь как кто-то потом будет искать ответ на подобный вопрос?

Автор: ViGOur 11.6.2008, 15:49

Цитата(void* @ 11.6.2008, 16:43) *
мне кажется лучше для новых вопросов создавать новые темы
Обсалютно согласен. :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)