Qt4.2-RC1. Интересные моменты
QAbstractButton
Теперь можно задавать режим повторения кнопки. Пока кнопка нажата с заданным интервалом посылается сигнал clicked(). Это свойство не работает для кнопок фиксирующих своё положение (toggle buttons). Настраивается это поведение следующими свойствами:
autoRepeat : bool
autoRepeatDelay : int
autoRepeatInterval : int
QАbstractItemView
Появилась возможность указывать поведение при вертикальной и горизонтальной прокрутке. Прокручивать теперь можно, либо по итему (QAbstractItemView::ScrollPerItem), либо попиксельно (QabstractItemView::ScrollPerPixel). Поведение задаётся отдельно для вертикальной и горизонтальной прокрутки.
horizontalScrollMode : ScrollMode
verticalScrollMode : ScrollMode
QAbstractScrollArea
Появилась возможность добавлять виджеты сверху или снизу от вертикальой, и слева или справа от горизонтальной полосы прокрутки.
void QAbstractScrollArea::addScrollBarWidget ( QWidget * widget, Qt::Alignment alignment )
Так же появилась возможность устанавливать виджет в их угол.
void QAbstractScrollArea::setCornerWidget ( QWidget * widget )
QAction
Как и для QAbstractButton появилась возможность задавать повторения и для QAction. Повторения осуществляются при удерживаниии клавиатурной комбинации, соответствующей данному QAction. Параметры повторения зависят от глобальных настроек системы. По умолчанию данное поведение включено.
autoRepeat : bool
QButtonGroup
QButtonGroup теперь посылает сигналы от его кнопок со ссылкой на кнопку пославшую сигнал.
void QButtonGroup::buttonPressed ( QAbstractButton * button ) [signal]
void QButtonGroup::buttonPressed ( int id ) [signal]
void QButtonGroup::buttonReleased ( QAbstractButton * button ) [signal]
void QButtonGroup::buttonReleased ( int id ) [signal]
QDataWidgetMapper
Хоть я и обещал не касаться новшеств системы, но для этого класса изменю своему правилу.
QDataWidgetMapper предоставляет соответствие между секциями модели данных и виджетами. Каждый раз при изменении текущего итема модели, ассоциированные виджеты обновляются в соответствии с данными модели. При редактировании данных в этих виджетах, данные заносятся обратно в модель. Также возможно использование делегатов для ассоциирования с нестандартными виджетами.
Пусть дана модель model со следующими данными:
1 | Trolltech ASA | Oslo |
2 | Trolltech Pty | Brisbane |
3 | Trolltech Inc | Palo Alto |
4 | Trolltech China | Beijing |
5 | Trolltech GmbH | Berlin |
Следующий код показывает как установить для данной модели ассоциации с виджетами:
QDataWidgetMapper *mapper = new QDataWidgetMapper;
mapper->setModel(model);
mapper->addMapping(mySpinBox, 0);
mapper->addMapping(myLineEdit, 1);
mapper->addMapping(myCountryChooser, 2);
mapper->toFirst();
QDate
Наконец-то появилась возможность установить дату не сломав себе шею.
bool QDate::setDate ( int year, int month, int day )
QDateTimeEdit
Появилась возможность автоматически вызывать виджет календаря при редактировании даты.
calendarPopup : bool
QHash и QMap
Полезная функция для получения уникальных ключей.
QList<Key> QHash::uniqueKeys () const
QLibrary
Наконец-то QLibrary будет сообщать о своих ошибках.
QString QLibrary::errorString () const
QListView
Появилась возможность свёртывания строк. Естественно отключенная по умолчанию.
wordWrap : bool
QListWidgetItem
Теперь можно задавать фон и передний план для каждого итема.
void QListWidgetItem::setBackground ( const QBrush & brush )
void QListWidgetItem::setForeground ( const QBrush & brush )
QLocale
Думаю, что так же полезна будет функция сообщения имени дня в соответствующей локали.
QString QLocale::dayName ( int day, FormatType type = LongFormat ) const
QMainWindow
Все действия с прикреплёнными виджетами (dock widgets) теперь красиво анимируются по умолчанию.
animationEnabled : bool
Если у вас достаточно много прикреплённых виджетов, то их можно теперь объединять перетаскиванием. И переключаться между ними при помощи появляющихся при этом закладок.
dockNestingEnabled : bool
QPrinter
Теперь можно печатать не только на принтер и в PDF, но и создавать PostScript документы (Qprinter::PostScriptFormat).
enum QPrinter::OutputFormat
QProgressBar
Появилась возможность устанавливать формат для отображённых цифр.
%p – завершено в процентах.
%v – текущее значение
%m – общее количество шагов
По умолчанию формат такой: "%p%".
format : QString
QSortFilterProxyModel
Появилась возожность динамически фильтровать и сортировать данные при изменении исходной модели. По умолчанию отключено.
dynamicSortFilter : bool
Так же появилась возможность задавать регистронезависимую сортировку. По умолчанию сортировка учитывает регистр.
sortCaseSensitivity : Qt::CaseSensitivity
QTableView
Появилась возможность объединения ячеек в таблице!!!
void QTableView::setSpan ( int row, int column, int rowSpan, int columnSpan )
QTextTableCell
Наконец-то появилась возможность задания формата каждой ячейки в таблице.
void QTextTableCell::setFormat ( const QTextCharFormat & format )
QTextTableFormat
Появилась возможность задавать число строк заголовка таблицы, который будет повторяться при пересечении таблицей границы листа.
void QTextTableFormat::setHeaderRowCount ( int count )
QTreeView
Теперь без лишних телодвижение можно раскрыть и закрыть всё дерево.
void QTreeView::expandAll () [slot]
void QTreeView::collapseAll () [slot]
Комментарии: 0:
Отправить комментарий
Подпишитесь на каналы Комментарии к сообщению [Atom]
<< Главная страница