18 tertiaryColumnCombo->addItem(tr("None"));

19 primaryColumnCombo->setMinimumSize(

20 secondaryColumnCombo->sizeHint());

21 QChar ch = first;

22 while (ch <= last) {

23 primaryColumnCombo->addItem(QString(ch));

24 secondaryColumnCombo->addItem(QString(ch));

25 tertiaryColumnCombo->addItem(QString(ch));

26 ch = ch.unicode() + 1;

27 }

28 }

Конструктор прячет ту часть диалогового окна, где располагаются поля второго и третьего ключей.

Создавать в Qt другой распространенный тип изменяющихся диалоговых окон, многостраничные диалоговые окна, даже еще проще как при ручном кодировании, так и при использовании Qt Designer. Такие диалоговые окна можно строить различ­ными способами:

• можно непосредственно воспользоваться виджетом окно с вкладками QTabWid-get. Здесь сверху окна имеется полоска вкладок, которая находится под управле­нием стека QStackedWidget;

• можно совместно использовать список QListWidget и стек QStackedWidget, где те­кущий элемент списка будет определять страницу, показываемую стеком QStackedWidget, обеспечив связь сигнала QListWidget: :currentRowChanged() со слотом QStackedWidget::setCurrentIndex();

• можно виджет древовидной структуры QTreeWidget совместно использовать со стеком QStackedWidget, как в предыдущем случае.

Класс стека QStackedWidget рассматривается в главе 6 («Управление компо­новкой»).


<< назад вперед >>