06 spreadsheet->setCurrentCell(str.mid(1).toInt() - 1,
07 str[0].unicode() - 'А');
08 }
09 }
Функция
В функции
Функция
01 void MainWindow::goToCell()
02 {
03 GoToCellDialog *dialog = new GoToCellDialog(this);
04 if (dialog->exec()) {
05 QString str = dialog->lineEdit->text().toUpper();
06 spreadsheet->setCurrentCell(str.mid(1).toInt() - 1,
07 str[0].unicode() - 'A');
08 }
09 delete dialog;
10 }
Создание модальных диалоговых окон (и контекстных меню при переопределении
Теперь мы перейдем к созданию диалогового окна Sort. Это диалоговое окно является модальным и позволяет пользователю упорядочить текущую выбранную область, задавая в качестве ключей сортировки определенные столбцы. На рис. 3.14 показан пример сортировки, когда в качестве главного ключа сортировки используется столбец В, а в качестве вторичного ключа сортировки используется столбец А (в обоих случаях сортировка выполняется по возрастанию значений).
01 void MainWindow::sort()
02 {
03 SortDialog dialog(this);
04 QTableWidgetSelectionRange range = spreadsheet->selectedRange();
05 dialog.setColumnRange('A' + range.leftColumn(),
06 'А' + range.rightColumn());
07 if (dialog.exec()) {
08 SpreadsheetCompare compare;
09 compare.keys[0] =
10 dialog.primaryColumnCombo->currentIndex();
11 compare.keys[1] =
12 dialog.secondaryColumnCombo->currentIndex() - 1;
13 compare.keys[2] =
14 dialog.tertiaryColumnCombo->currentIndex() - 1;
15 compare.ascending[0] =