Russian Qt Forum
Апрель 30, 2024, 14:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 193 194 [195]
2911  Qt / Пользовательский интерфейс (GUI) / Re: Фиксированный размер диалога под Windows : Март 09, 2010, 15:58
Мде, так и думал, что сглупил, что не сказал, что setMinimumHeight()+setMaximiumHeight() или setFixedHeight() вызываю.

Всё выставляется.
Со стороны Qt геометрия верная, т.е. dialog->height(), dialog->minimumHeight() и dialog->maximumHeight() возвращают верное выставленное мной значение.
И под X11 всё замечательно работает. Проблема вылезает только под виндой, а именно под WS2003.
Визуально окно диалога выглядит так, как будто заданная фиксированная высота не была принята Win API.
Но стоит единожды кликнуть на рамку окна и окно становится заданного размера.
2912  Qt / Пользовательский интерфейс (GUI) / Фиксированный размер диалога под Windows : Март 09, 2010, 11:16
Столкнулся с проблемой установки фиксированной высоты диалога под виндой. Кто-то глючит или Qt или Win API.
В определенных случаях требуется не позволять изменять размер окна диалога. Под Х-ами всё ок, а под виндой окно получается большего размера, но стоит кликнуть без драга на левый или правый край рамки окна и размер выставляется как нужно.
Может кто сталкивался с таким глюком?
2913  Qt / Пользовательский интерфейс (GUI) / Re: 2 QGraphicsView и 1 сцена как вывести правильно ? : Март 05, 2010, 14:31
Переиспользуйте QGraphicsView::drawForeground()
2914  Qt / QSS / Qt CSS и динамические иконки : Март 05, 2010, 10:28
Из-за того, что тролли до сих пор не реализовали фолдинг в QGroupBox-е, решил сделать некую обвязку, чтобы оный заработал.
Для этого планировалось использовать setCheckable(), setFlat() и заменить иконки checkbox-a на (-)/(+).
Т.к. расширить QGroupBox через новый класс не представляется возможным (блин, эти умники зачем-то отказались от QCheckBox-a для реализации checkbox-a и всё перенесли в стили, через которые до стилей самого checkbox-a из QGroupBox-a не добраться), единственным способом изменить иконки checkbox-a можно только через CSS Грустный Ладно, но меня абсолютно не устраивает то, что image задается либо через файл либо через ресурс, т.к. хотелось использовать стилизованные иконки определенные для QStyle::PE_IndicatorBranch.

Поэтому вопрос - возможно ли указать CSS-у использовать динамические images?

Пока делаю так:
Код:
static void createIndicatorSSIcon( QWidget* w, const QString& name, bool checked )
{
QFileInfo info;
QString key = QString( "qt_pixmap_:%1_%2_0_0" ).arg( name ). // формат ключа подглядел в QPixmap::load()
arg( QString::number( info.lastModified().toTime_t() ) );

static const int s = 9; // ### hardcoded in qcommonstyle.cpp

QStyleOption o;
o.rect = QRect( 0, 0, s, s );
o.palette = w->palette();
o.state = QStyle::State_Children;

if( !checked )
o.state |= QStyle::State_Open;

QPixmap* pm = new QPixmap( s, s );
QPainter p( pm );

w->style()->drawPrimitive( QStyle::PE_IndicatorBranch, &o, &p, w );

QPixmapCache::insert( key, *pm );
}

{
. . .

createIndicatorSSIcon( dialog, "groupbox_checked", false );
createIndicatorSSIcon( dialog, "groupbox_unchecked", true );

QGroupBox* gb;

gb->setStyleSheet(
"QGroupBox::indicator:checked{ image: url(:groupbox_checked); }"
"QGroupBox::indicator:unchecked{ image: url(:groupbox_unchecked); }"  );

. . .
}


Такой номер прокатил, но это всё-таки hack, а хочется по-красивее.

И ещё, может подскажете нормальное руководство по Qt CSS?
Страниц: 1 ... 193 194 [195]

Страница сгенерирована за 0.059 секунд. Запросов: 23.