ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 814
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Оглавление
7 17.5.2. Использование UI-файла в программе ................................................................. 337 17.5.3. Преобразование UI-файла в PY-файл ................................................................... 339 17.6. Модули PyQt 5 .................................................................................................................... 340 17.7. Типы данных в PyQt ........................................................................................................... 341 17.8. Управление основным циклом приложения..................................................................... 342 17.9. Многопоточные приложения ............................................................................................. 344 17.9.1. Класс QThread: создание потока ........................................................................... 344 17.9.2. Управление циклом внутри потока ....................................................................... 347 17.9.3. Модуль queue: создание очереди заданий ............................................................ 351 17.9.4. Классы QMutex и QMutexLocker ............................................................................ 354 17.10. Вывод заставки ................................................................................................................. 359 17.11. Доступ к документации .................................................................................................... 361
Глава 18. Управление окном приложения ............................................................. 362 18.1. Создание и отображение окна ........................................................................................... 362 18.2. Указание типа окна ............................................................................................................. 363 18.3. Изменение и получение размеров окна ............................................................................ 365 18.4. Местоположение окна на экране и управление им .......................................................... 367 18.5. Указание координат и размеров ........................................................................................ 370 18.5.1. Класс QPoint: координаты точки .......................................................................... 370 18.5.2. Класс QSize: размеры прямоугольной области .................................................... 372 18.5.3. Класс QRect: координаты и размеры прямоугольной области ........................... 374 18.6. Разворачивание и сворачивание окна ............................................................................... 379 18.7. Управление прозрачностью окна ...................................................................................... 381 18.8. Модальные окна .................................................................................................................. 381 18.9. Смена значка в заголовке окна .......................................................................................... 383 18.10. Изменение цвета фона окна ............................................................................................. 384 18.11. Вывод изображения в качестве фона .............................................................................. 385 18.12. Создание окна произвольной формы .............................................................................. 387 18.13. Всплывающие подсказки ................................................................................................. 388 18.14. Программное закрытие окна............................................................................................ 390 18.15. Использование таблиц стилей CSS для оформления окон ............................................ 390
Глава 19. Обработка сигналов и событий .............................................................. 395 19.1. Назначение обработчиков сигналов .................................................................................. 395 19.2. Блокировка и удаление обработчика ................................................................................ 399 19.3. Генерация сигналов ............................................................................................................ 401 19.4. Передача данных в обработчик ......................................................................................... 403 19.5. Использование таймеров .................................................................................................... 404 19.6. Перехват всех событий ....................................................................................................... 407 19.7. События окна ...................................................................................................................... 410 19.7.1. Изменение состояния окна .................................................................................... 410 19.7.2. Изменение положения и размеров окна ............................................................... 411 19.7.3. Перерисовка окна или его части ........................................................................... 412 19.7.4. Предотвращение закрытия окна ............................................................................ 413 19.8. События клавиатуры .......................................................................................................... 414 19.8.1. Установка фокуса ввода ......................................................................................... 414 19.8.2. Назначение клавиш быстрого доступа ................................................................. 417 19.8.3. Нажатие и отпускание клавиши на клавиатуре .................................................... 419
8
Оглавление
19.9. События мыши .................................................................................................................... 420 19.9.1. Нажатие и отпускание кнопки мыши ................................................................... 420 19.9.2. Перемещение указателя мыши .............................................................................. 422 19.9.3. Наведение и увод указателя ................................................................................... 423 19.9.4. Прокрутка колесика мыши .................................................................................... 423 19.9.5. Изменение внешнего вида указателя мыши ......................................................... 424 19.10. Технология drag & drop .................................................................................................... 425 19.10.1. Запуск перетаскивания ......................................................................................... 425 19.10.2. Класс QMimeData ................................................................................................. 427 19.10.3. Обработка сброса ................................................................................................. 429 19.11. Работа с буфером обмена ................................................................................................. 430 19.12. Фильтрация событий ........................................................................................................ 431 19.13. Искусственные события ................................................................................................... 432
Глава 20. Размещение компонентов в окнах ......................................................... 434 20.1. Абсолютное позиционирование ........................................................................................ 434 20.2. Горизонтальное и вертикальное выравнивание ............................................................... 435 20.3. Выравнивание по сетке ...................................................................................................... 438 20.4. Выравнивание компонентов формы ................................................................................. 441 20.5. Классы QStackedLayout и QStackedWidget ........................................................................ 443 20.6. Класс QSizePolicy ................................................................................................................ 444 20.7. Объединение компонентов в группу ................................................................................. 445 20.8. Панель с рамкой .................................................................................................................. 447 20.9. Панель с вкладками ............................................................................................................ 448 20.10. Компонент «аккордеон» ................................................................................................... 452 20.11. Панели с изменяемым размером ..................................................................................... 454 20.12. Область с полосами прокрутки ....................................................................................... 456
Глава 21. Основные компоненты ............................................................................ 458 21.1. Надпись................................................................................................................................ 458 21.2. Командная кнопка .............................................................................................................. 461 21.3. Переключатель .................................................................................................................... 463 21.4. Флажок ................................................................................................................................ 463 21.5. Однострочное текстовое поле ........................................................................................... 464 21.5.1. Основные методы и сигналы ................................................................................. 464 21.5.2. Ввод данных по маске ............................................................................................ 467 21.5.3. Контроль ввода ....................................................................................................... 468 21.6. Многострочное текстовое поле ......................................................................................... 469 21.6.1. Основные методы и сигналы ................................................................................. 469 21.6.2. Изменение параметров поля .................................................................................. 471 21.6.3. Указание параметров текста и фона ..................................................................... 473 21.6.4. Класс QTextDocument ............................................................................................. 474 21.6.5. Класс QTextCursor .................................................................................................. 477 21.7. Текстовый браузер .............................................................................................................. 480 21.8. Поля для ввода целых и вещественных чисел .................................................................. 481 21.9. Поля для ввода даты и времени ......................................................................................... 483 21.10. Календарь .......................................................................................................................... 486 21.11. Электронный индикатор .................................................................................................. 488 21.12. Индикатор хода процесса................................................................................................. 489
Оглавление
9 21.13. Шкала с ползунком ........................................................................................................... 490 21.14. Круговая шкала с ползунком ........................................................................................... 492 21.15. Полоса прокрутки ............................................................................................................. 492 21.16. Веб-браузер ....................................................................................................................... 493
Глава 22. Списки и таблицы ..................................................................................... 498 22.1. Раскрывающийся список .................................................................................................... 498 22.1.1. Добавление, изменение и удаление элементов .................................................... 498 22.1.2. Изменение параметров списка .............................................................................. 499 22.1.3. Поиск элементов ..................................................................................................... 500 22.1.4. Сигналы ................................................................................................................... 501 22.2. Список для выбора шрифта ............................................................................................... 501 22.3. Роли элементов ................................................................................................................... 502 22.4. Модели ................................................................................................................................. 503 22.4.1. Доступ к данным внутри модели .......................................................................... 503 22.4.2. Класс QStringListModel .......................................................................................... 504 22.4.3. Класс QStandardItemModel .................................................................................... 506 22.4.4. Класс QStandardItem .............................................................................................. 509 22.5. Представления .................................................................................................................... 513 22.5.1. Класс QAbstractItemView ........................................................................................ 513 22.5.2. Простой список ....................................................................................................... 516 22.5.3. Таблица .................................................................................................................... 518 22.5.4. Иерархический список ........................................................................................... 520 22.5.5. Управление заголовками строк и столбцов .......................................................... 522 22.6. Управление выделением элементов .................................................................................. 525 22.7. Промежуточные модели ..................................................................................................... 526 22.8. Использование делегатов ................................................................................................... 528
1 2 3 4 5 6 7 8 9 ... 83
Глава 23. Работа с базами данных ........................................................................... 532 23.1. Соединение с базой данных ............................................................................................... 532 23.2. Получение сведений о структуре таблицы ....................................................................... 535 23.2.1. Получение сведений о таблице ............................................................................. 535 23.2.2. Получение сведений об отдельном поле .............................................................. 536 23.2.3. Получение сведений об индексе ........................................................................... 537 23.2.4. Получение сведений об ошибке ............................................................................ 537 23.3. Выполнение SQL-запросов и получение их результатов ................................................ 538 23.3.1. Выполнение запросов ............................................................................................ 538 23.3.2. Обработка результатов выполнения запросов ..................................................... 541 23.3.3. Очистка запроса ...................................................................................................... 543 23.3.4. Получение служебных сведений о запросе .......................................................... 543 23.4. Модели, связанные с данными .......................................................................................... 544 23.4.1. Модель, связанная с SQL-запросом ...................................................................... 544 23.4.2. Модель, связанная с таблицей ............................................................................... 545 23.4.3. Модель, поддерживающая межтабличные связи ................................................. 551 23.4.4. Использование связанных делегатов .................................................................... 553
Глава 24. Работа с графикой ..................................................................................... 555 24.1. Вспомогательные классы ................................................................................................... 555 24.1.1. Класс QColor: цвет ................................................................................................. 556 24.1.2. Класс QPen: перо .................................................................................................... 559
10
Оглавление
24.1.3. Класс QBrush: кисть ............................................................................................... 561 24.1.4. Класс QLine: линия ................................................................................................. 562 24.1.5. Класс QPolygon: многоугольник ........................................................................... 562 24.1.6. Класс QFont: шрифт ............................................................................................... 564 24.2. Класс QPainter .................................................................................................................... 566 24.2.1. Рисование линий и фигур ...................................................................................... 567 24.2.2. Вывод текста ........................................................................................................... 570 24.2.3. Вывод изображения ................................................................................................ 571 24.2.4. Преобразование систем координат ....................................................................... 572 24.2.5. Сохранение команд рисования в файл .................................................................. 573 24.3. Работа с изображениями .................................................................................................... 574 24.3.1. Класс QPixmap ........................................................................................................ 575 24.3.2. Класс QBitmap......................................................................................................... 577 24.3.3. Класс QImage .......................................................................................................... 578 24.3.4. Класс QIcon ............................................................................................................. 581
Глава 25. Графическая сцена .................................................................................... 583 25.1. Класс QGraphicsScene: сцена ............................................................................................. 583 25.1.1. Настройка сцены .................................................................................................... 584 25.1.2. Добавление и удаление графических объектов ................................................... 584 25.1.3. Добавление компонентов на сцену ....................................................................... 585 25.1.4. Поиск объектов ....................................................................................................... 586 25.1.5. Управление фокусом ввода ................................................................................... 587 25.1.6. Управление выделением объектов ........................................................................ 588 25.1.7. Прочие методы и сигналы ..................................................................................... 588 25.2. Класс QGraphicsView: представление ............................................................................... 590 25.2.1. Настройка представления ...................................................................................... 590 25.2.2. Преобразования между координатами представления и сцены ......................... 592 25.2.3. Поиск объектов ....................................................................................................... 592 25.2.4. Преобразование системы координат .................................................................... 593 25.2.5. Прочие методы ....................................................................................................... 593 25.3. Класс QGraphicsItem: базовый класс для графических объектов ................................... 594 25.3.1. Настройка объекта .................................................................................................. 595 25.3.2. Выполнение преобразований ................................................................................ 597 25.3.3. Прочие методы ....................................................................................................... 597 25.4. Графические объекты ......................................................................................................... 598 25.4.1. Линия ....................................................................................................................... 598 25.4.2. Класс QAbstractGraphicsShapeItem ....................................................................... 599 25.4.3. Прямоугольник ....................................................................................................... 599 25.4.4. Многоугольник ....................................................................................................... 599 25.4.5. Эллипс ..................................................................................................................... 600 25.4.6. Изображение ........................................................................................................... 600 25.4.7. Простой текст ......................................................................................................... 601 25.4.8. Форматированный текст ........................................................................................ 602 25.5. Группировка объектов ........................................................................................................ 603 25.6. Эффекты .............................................................................................................................. 603 25.6.1. Класс QGraphicsEffect ............................................................................................ 604 25.6.2. Тень .......................................................................................................................... 604
Оглавление
11 25.6.3. Размытие ................................................................................................................. 605 25.6.4. Изменение цвета ..................................................................................................... 605 25.6.5. Изменение прозрачности ....................................................................................... 606 25.7. Обработка событий ............................................................................................................. 606 25.7.1. События клавиатуры .............................................................................................. 607 25.7.2. События мыши ....................................................................................................... 607 25.7.3. Обработка перетаскивания и сброса ..................................................................... 610 25.7.4. Фильтрация событий .............................................................................................. 611 25.7.5. Обработка изменения состояния объекта ............................................................. 612
Глава 26. Диалоговые окна ....................................................................................... 614 26.1. Пользовательские диалоговые окна .................................................................................. 614 26.2. Класс QDialogButtonBox .................................................................................................... 616 26.3. Класс QMessageBox ............................................................................................................ 619 26.3.1. Основные методы и сигналы ................................................................................. 620 26.3.2. Окно информационного сообщения ..................................................................... 622 26.3.3. Окно подтверждения .............................................................................................. 623 26.3.4. Окно предупреждающего сообщения ................................................................... 624 26.3.5. Окно критического сообщения ............................................................................. 624 26.3.6. Окно сведений о программе .................................................................................. 625 26.3.7. Окно сведений о библиотеке Qt ............................................................................ 625 26.4. Класс QInputDialog ............................................................................................................. 626 26.4.1. Основные методы и сигналы ................................................................................. 626 26.4.2. Окно для ввода строки ........................................................................................... 628 26.4.3. Окно для ввода целого числа ................................................................................. 629 26.4.4. Окно для ввода вещественного числа ................................................................... 630 26.4.5. Окно для выбора пункта из списка ....................................................................... 630 26.4.6. Окно для ввода большого текста ........................................................................... 631 26.5. Класс QFileDialog ............................................................................................................... 632 26.5.1. Основные методы и сигналы ................................................................................. 632 26.5.2. Окно для выбора каталога ..................................................................................... 634 26.5.3. Окно для открытия файлов .................................................................................... 635 26.5.4. Окно для сохранения файла ................................................................................... 637 26.6. Окно для выбора цвета ....................................................................................................... 638 26.7. Окно для выбора шрифта ................................................................................................... 639 26.8. Окно для вывода сообщения об ошибке ........................................................................... 640 26.9. Окно с индикатором хода процесса .................................................................................. 641 26.10. Создание многостраничного мастера ............................................................................. 642 26.10.1. Класс QWizard ....................................................................................................... 642 26.10.2. Класс QWizardPage .............................................................................................. 646
Глава 27. Создание SDI- и MDI-приложений......................................................... 648 27.1. Главное окно приложения .................................................................................................. 648 27.2. Меню .................................................................................................................................... 653 27.2.1. Класс QMenuBar ..................................................................................................... 653 27.2.2. Класс QMenu ........................................................................................................... 654 27.2.3. Контекстное меню компонента ............................................................................. 657 27.2.4. Класс QAction .......................................................................................................... 658 27.2.5. Объединение переключателей в группу ............................................................... 661