Технология ООП
Санкт-Петербургский государственный политехнический университет
13 декабря 2011
Технология ООП
Менеджеры компоновки
Qt содержит несколько классов обеспечивающих компоновку
виджетов на форме: QHBoxLayout, QVBoxLayout, QGridLayout.
Менеджеры компоновки позволяют виджетам автоматически
адапритироваться к изменению размеров, формы, шрифтов.
Технология ООП
Менеджеры компоновки
Технология ООП
QHBoxLayout/QVBoxLayout
v o i d addWidget ( QWidget ∗ w i d g e t , i n t s t r e t c h = 0 ,
Qt : : A l i g n m e n t a l i g n m e n t = 0 ) ;
void addSpacing ( i n t s i z e ) ;
void addStretch ( i n t s t r e t c h = 0 ) ;
v o i d a d d L a y o u t ( QLayout ∗ l a y o u t , i n t s t r e t c h = 0
);
Технология ООП
QGridLayout
v o i d a d d L a y o u t ( QLayout ∗ l a y o u t , i n t row , i n t
column , Qt : : A l i g n m e n t a l i g n m e n t = 0 ) ;
v o i d addWidget ( QWidget ∗ w i d g e t , i n t row , i n t
column , Qt : : A l i g n m e n t a l i g n m e n t = 0 ) ;
void s e t H o r i z o n t a l S p a c i n g ( i n t s p a c i n g ) ;
void s e t V e r t i c a l S p a c i n g ( i n t s p a c i n g ) ;
Технология ООП
QGridLayout
Технология ООП
Ресурсы
Технология ООП
Ресурсы
*.qrc files:
<!DOCTYPE RCC><RCC v e r s i o n=" 1.0 ">
<q r e s o u r c e >
< f i l e >i m a g e s / copy . png</ f i l e >
< f i l e >i m a g e s / c u t . png</ f i l e >
< f i l e >i m a g e s /new . png</ f i l e >
< f i l e >i m a g e s / open . png</ f i l e >
< f i l e >i m a g e s / p a s t e . png</ f i l e >
< f i l e >i m a g e s / s a v e . png</ f i l e >
</ q r e s o u r c e >
</RCC>
Технология ООП
Ресурсы
*.qrc files:
<q r e s o u r c e >
< f i l e >c u t . j p g </ f i l e >
</ q r e s o u r c e >
<q r e s o u r c e l a n g=" f r ">
< f i l e a l i a s =" cut . j p g ">c u t _ f r . j p g </ f i l e >
</ q r e s o u r c e >
Технология ООП
Ресурсы
Подключение ресурсов, в .pro файл добавить:
RESOURCES = a p p l i c a t i o n . q r c
Использование:
c u t A c t = new QAction ( QIcon ( " : / images/ cut . png" ) , t r (
"Cu&t " ) , t h i s ) ;
Технология ООП
Интернационализация приложений
Qt обеспечивает широкую поддержку различных языков
благодаря использованию Unicode в программных интерфейсах,
это позволяет без проблем вводить текст на любых языках.
Для перевода интерфейса приложения на другой язык
исполюзуется система Qt Linguist.
Технология ООП
QtLinguist
Технология ООП
QtLinguist
*.ts файлы необходимо прописать в проектный файл:
TRANSLATIONS = myapp_fi . t s myapp_ru . t s
Технология ООП
QtLinguist
Технология ООП
QtLinguist
Для использования полученной интернациализации необходимо
подключить транслятор в самом начале запуска приложения,
где в метод load передается имя скомпилированного файла с
передов, без расширения qm.
QTranslator myappTranslator ;
m y a p p T r a n s l a t o r . l o a d ( "myapp_" + Q L o c a l e : : s y s t e m ( ) .
name ( ) ) ;
app . i n s t a l l T r a n s l a t o r (& m y a p p T r a n s l a t o r ) ;
Технология ООП
Графическое представление
Представляет собой программный интерфейс опирающийся на
концепцию Model-View.
Содержит в себе класс QGraphicsScene являющийся моделью
для графических элементов, которые наследуются от
QGraphicsItem.
QGraphicsView — представление, использующееся для показа
элементов модели.
Технология ООП
Графическое представление
Каждый элемент (QGraphicsItem) включает в себя поддержку
событий мыши, клавиатуры и позволяет: перетаскивать,
группировать и определять столкновения объектов.
Технология ООП