Главная страница

ээдд. Прохоренок_Н_А__Дронов_В_А_Python_3_и_PyQt_5_Разработка_приложен. Николай Прохоренок Владимир Дронов


Скачать 7.92 Mb.
НазваниеНиколай Прохоренок Владимир Дронов
Дата05.05.2023
Размер7.92 Mb.
Формат файлаpdf
Имя файлаПрохоренок_Н_А__Дронов_В_А_Python_3_и_PyQt_5_Разработка_приложен.pdf
ТипДокументы
#1111379
страница46 из 83
1   ...   42   43   44   45   46   47   48   49   ...   83

Заголовок

")
# Файл page2.html будет загружен с сайта http://www.somesite.ru/ webview.setHtml("Вторая страница",

QtCore.QUrl('http://www.somesite.ru/'))
 selectedText()
возвращает выделенный текст или пустую строку, если ничего не бы- ло выделено;
 hasSelection()
— возвращает
True
, если фрагмент страницы был выделен, и
False
— в противном случае;
 setZoomFactor(<Множитель>)
— задает масштаб самой страницы. Значение
1
указывает, что страница будет выведена в оригинальном масштабе, значение меньше единицы — в уменьшенном, значение больше единицы — увеличенном масштабе;
 zoomFactor()
— возвращает масштаб страницы;
 back()
— загружает предыдущий ресурс из списка истории. Метод является слотом;
 forward()
— загружает следующий ресурс из списка истории. Метод является слотом;
 reload()
— перезагружает страницу. Метод является слотом;
 stop()
— останавливает загрузку страницы. Метод является слотом;
 icon()
— возвращает в виде экземпляра класса
QIcon значок, заданный для страницы;
 findText(<Искомый текст>[, options=QWebEnginePage.FindFlags()][, resultCallback=0])
— позволяет найти на странице заданный фрагмент текста. Все найденные фрагменты будут выделены желтым фоном непосредственно в компоненте
QWebEngineView

Глава 21. Основные компоненты
495
Необязательный параметр option позволяет указать дополнительные параметры в виде экземпляра класса
QWebEnginePage.FindFlags из того же модуля
QtWebEngineWidgets
В конструкторе этого класса можно указать один из атрибутов класса
QWebEnginePage из модуля
QtWebEngineWidgets или их комбинации через оператор
|
:

FindBackward

1
— выполнять поиск в обратном, а не в прямом направлении;

FindCaseSensitively

2
— поиск с учетом регистра символов (по умолчанию вы- полняется поиск без учета регистра).
В необязательном параметре resultCallback можно указать функцию, которая будет вы- звана по окончании поиска. Эта функция должна принимать единственный параметр, которым станет логическая величина
True
, если поиск увенчался успехом, или
False
— в противном случае.
Вот пример поиска с учетом регистра и выделением всех найденных совпадений: web.findText('Python', options=QtWebEngineWidgets.QWebEnginePage.FindFlags(
QtWebEngineWidgets.QWebEnginePage.FindBackward |
QtWebEngineWidgets.QWebEnginePage.FindCaseSensitively))
 triggerPageAction(<Действие>[, checked=False])
— выполняет над страницей указан- ное действие. В качестве действия задается один из атрибутов класса
QWebEnginePage
— этих атрибутов очень много, и все они приведены на странице https://doc.qt.io/ qt-5/qwebenginepage.html#WebAction-enum. Необязательный параметр checked имеет смысл указывать лишь для действий, принимающих логический флаг:
# Выделение всей страницы web.triggerPageAction(QtWebEngineWidgets.QWebEnginePage.SelectAll)
# Копирование выделенного фрагмента страницы web.triggerPageAction(QtWebEngineWidgets.QWebEnginePage.Copy)
# Перезагрузка страницы, минуя кэш web.triggerPageAction(QtWebEngineWidgets.QWebEnginePage.ReloadAndBypassCache)
 page()
— возвращает экземпляр класса
QWebEnginePage из модуля
QtWebEngineWidgets
, представляющий открытую веб-страницу.
Класс
QWebEngineView поддерживает следующий набор полезных для нас сигналов (полный их список смотрите на странице https://doc.qt.io/qt-5/qwebengineview.html):
 iconChanged
— генерируется после загрузки или изменения значка, заданного для стра- ницы;
 loadFinished(<Признак>)
— генерируется по окончании загрузки страницы. Значение
True параметра указывает, что загрузка выполнена без проблем,
False
— что при загруз- ке произошли ошибки;
 loadProgress(<Процент выполнения>)
— периодически генерируется в процессе загрузки страницы. В качестве параметра передается целое число от
0
до
100
, показывающее про- цент загрузки;
 loadStarted
— генерируется после начала загрузки страницы;
 selectionChanged
— генерируется при выделении нового фрагмента содержимого стра- ницы;
 titleChanged(<Текст>)
— генерируется при изменении текста заголовка страницы (со- держимого тега
<br>). В параметре, передаваемом обработчику, доступен этот текст в виде строки; <br></div> <div> <br>496 <br>Часть II. Библиотека PyQt 5 <br> urlChanged(<QUrl>)<br> — генерируется при изменении адреса текущей страницы, что мо- жет быть вызвано, например, загрузкой новой страницы. Параметр — новый адрес. <br>Класс <br>QWebEnginePage<br>, представляющий открытую в веб-браузере страницу и получаемый вызовом метода page()<br> класса <br>QWebEngineView<br>, поддерживает следующие полезные для нас методы (полный их список смотрите на странице https://doc.qt.io/qt-5/qwebenginepage.html): <br> print(<QPrinter>, <Функция>)<br> — печатает содержимое страницы на заданном принтере. <br>Вторым параметром указывается функция, которая будет вызвана после окончания пе- чати и должна принимать единственный параметр, которым будет значение <br>True<br>, <a href="/cifrovaya-i-operativnaya-pechate-2-vvedenie-cifrovaya-pechate/index.html" title="Цифровая и оперативная печать 2 Введение Цифровая печать">если печать завершилась успешно</a>, и <br>False<br> — в противном случае. Метод поддерживается <br>PyQt, начиная с версии 5.8; <br> printToPdf()<br> — преобразует страницу в формат PDF. Форматы метода: printToPdf(<Путь файла>, pageLayout=QPageLayout(QPageSize(QPageSize::A4), <br> QPageLayout::Portrait, QMarginsF())) printToPdf(<Функция>, pageLayout=QPageLayout(QPageSize(QPageSize::A4), <br> QPageLayout::Portrait, QMarginsF())) <br>Первый формат сразу сохраняет преобразованную страницу в файле, чей путь указан первым параметром. Второй формат после преобразования вызывает указанную в пер- вом параметре функцию, передавая ей в качестве единственного параметра массив типа bytes<br>, хранящий преобразованную страницу. <br>Необязательный параметр pageLayout задает настройки страницы в виде экземпляра класса <br>QPageLayout<br> (он будет описан в главе 29). Если параметр не указан, будет выпол- нена печать на бумаге типоразмера А4, в портретной ориентации, без отступов. <br>Метод поддерживается PyQt, начиная с версии 5.7; <br> save(<Путь файла>, format=QWebEngineDownloadItem::MimeHtmlSaveFormat) <br> — сохраня- ет страницу в файле, чей путь указан в первом параметре. Необязательный параметр format задает формат файла — для него можно задать один из следующих атрибутов класса <br>QWebEngineDownloadItem<br>, определенного в модуле <br>QtWebEngineWidgets<br>: <br>• <br>SingleHtmlSaveFormat<br> — <br>0<br> — обычный HTML-файл. Связанные со страницей файлы <br>(изображения, аудио- и видеоролики, таблицы стилей и пр.) не сохраняются; <br>• <br>CompleteHtmlSaveFormat<br> — <br>1<br> — то же самое, только связанные файлы будут сохране- ны в каталоге, находящемся там же, где и файл со страницей, и имеющем то же имя; <br>• <br>MimeHtmlSaveFormat<br> — <br>2<br> — страница и все связанные файлы сохраняются в одном файле. <br>Метод поддерживается PyQt, начиная с версии 5.8; <br> contentsSize()<br> — возвращает экземпляр класса <br>QSizeF<br>, хранящий размеры содержимого страницы. Метод поддерживается PyQt, начиная с версии 5.7; <br> scrollPosition()<br> — возвращает экземпляр класса <br>QPointF<br>, хранящий позицию прокрут- ки содержимого страницы. Метод поддерживается PyQt, начиная с версии 5.7; <br> setAudioMuted(<Флаг>)<br> — если с параметром передать значение <br>True<br>, все звуки, воспро- изводящиеся на странице, будут приглушены. Чтобы снова сделать их слышимыми, нужно передать значение <br>False<br>. Метод поддерживается PyQt, начиная с версии 5.7; <br></div> <div> <br>Глава 21. Основные компоненты <br>497 <br> isAudioMuted()<br> — возвращает <br>True<br>, если все звуки, воспроизводящиеся на странице, приглушены, и <br>False<br> — в противном случае. Метод поддерживается PyQt, начиная с версии 5.7; <br> setBackgroundColor(<Цвет>)<br> — <a href="/rabota-v-tekstovom-processore-openoffice-writer/index.html" title="Работа в текстовом процессоре OpenOffice Writer">задает для страницы фоновый цвет</a>, указанный в виде экземпляра класса <br>QColor<br>. Метод поддерживается PyQt, начиная с версии 5.6; <br> backgroundColor()<br> — возвращает фоновый цвет страницы в виде экземпляра класса <br>QColor<br>. Метод поддерживается PyQt, начиная с версии 5.6. <br></div> <div> <br>ГЛ А В А <br>22 <br>Списки и таблицы <br>PyQt содержит широкий выбор компонентов, позволяющих отображать как простой список строк (в свернутом или развернутом состояниях), так и табличные данные. Кроме того, можно отобразить данные, которые имеют очень сложную структуру, — например, иерар- хическую. Благодаря поддержке концепции «модель-представление», позволяющей отде- лить данные от их отображения, одни и те же данные можно отображать сразу в нескольких компонентах без их дублирования. <br>22.1. Раскрывающийся список <br>Класс <br>QComboBox реализует раскрывающийся список с возможностью выбора одного пункта. <br>При щелчке мышью на поле появляется список возможных вариантов, а при выборе пункта список сворачивается. Иерархия наследования выглядит так: <br>(QObject, QPaintDevice) — QWidget — QComboBox <br>Формат конструктора класса <br>QComboBox<br>: <br><Объект> = QComboBox([parent=<Родитель>]) <br>22.1.1. Добавление, изменение и удаление элементов <br>Для добавления, изменения, удаления и получения значения элементов предназначены сле- дующие методы класса <br>QComboBox<br>: <br> addItem()<br> — добавляет один элемент в конец списка. Форматы метода: addItem(<Строка>[, <Данные>]) addItem(<QIcon>, <Строка>[, <Данные>]) <br>В параметре <br><Строка><br> задается текст элемента списка, а в параметре <br><QIcon><br> — значок, который будет отображен перед текстом. Необязательный параметр <br><Данные><br> позволяет сохранить пользовательские данные — например, индекс в таблице базы данных; <br> addItems(<Список строк>)<br> — добавляет несколько элементов в конец списка; <br> insertItem()<br> — вставляет один элемент в указанную позицию списка. Все остальные элементы сдвигаются в конец списка. Форматы метода: insertItem(<Индекс>, <Строка>[, <Данные>]) insertItem(<Индекс>, <QIcon>, <Строка>[, <Данные>]) <br></div> <div> <br>Глава 22. Списки и таблицы <br>499 <br> insertItems(<Индекс>, <Список строк>)<br> — вставляет несколько элементов в указанную позицию списка. Все остальные элементы сдвигаются в конец списка; <br> insertSeparator(<Индекс>)<br> — вставляет разделительную линию в указанную позицию; <br> setItemText(<Индекс>, <Строка>)<br> — изменяет текст элемента с указанным индексом; <br> setItemIcon(<Индекс>, <QIcon>)<br> — изменяет значок элемента с указанным индексом; <br> setItemData(<Индекс>, <Данные>[, role=UserRole])<br> — изменяет данные для элемента с указанным индексом. Необязательный параметр role позволяет указать роль, для ко- торой задаются данные. Например, если указать атрибут <br>ToolTipRole класса <br>QtCore.Qt<br>, <a href="/referat-po-discipline-vvedenie-v-professionalenuyu-deyatelenos-vsem1/index.html" title="Реферат по дисциплине «Введение в профессиональную деятельность» на тему «Строение искусственных нейронных сетей»">данные зададут текст всплывающей подсказки</a>, которая будет отображена при наведении указателя мыши на элемент. По умолчанию изменяются пользовательские данные; <br> removeItem(<Индекс>)<br> — удаляет элемент с указанным индексом; <br> setCurrentIndex(<Индекс>)<br> — делает элемент с указанным индексом текущим. Метод является слотом; <br> currentIndex()<br> — возвращает индекс текущего элемента; <br> setCurrentText(<Строка>)<br> — делает элемент с текстом, совпадающим с указанной стро- кой, текущим. Метод является слотом; <br> currentText()<br> — возвращает текст текущего элемента; <br> itemText(<Индекс>)<br> — возвращает текст элемента с указанным индексом; <br> itemData(<Индекс>[, role=UserRole])<br> — возвращает данные, сохраненные в роли role элемента с индексом <br><Индекс><br>; <br> count()<br> — возвращает общее количество элементов списка. Получить количество эле- ментов можно также с помощью функции len()<br>; <br> clear()<br> — удаляет все элементы списка. <br>22.1.2. Изменение параметров списка <br>Управлять параметрами раскрывающегося списка позволяют следующие методы класса <br>QComboBox<br>: <br> setEditable(<Флаг>)<br> — если в качестве параметра указано значение <br>True<br>, пользователь сможет вводить текст в раскрывающийся список и, возможно, добавлять таким образом в него новые элементы; <br> setInsertPolicy(<Режим>)<br> — задает режим добавления в список элементов, введенных пользователем. В качестве параметра указываются следующие атрибуты класса <br>QComboBox<br>: <br>• <br>NoInsert<br> — <br>0<br> — элемент не будет добавлен; <br>• <br>InsertAtTop<br> — <br>1<br> — элемент вставляется в начало списка; <br>• <br>InsertAtCurrent<br> — <br>2<br> — будет изменен текст текущего элемента; <br>• <br>InsertAtBottom<br> — <br>3<br> — <a href="/zadacha-1-uslovie-sozdate-proizvolenij-spisok-dobavite-novij-e/index.html" title="Задача 1 Условие Создать произвольный список Добавить новый элемент типа str в конец списка">элемент добавляется в конец списка</a>; <br>• <br>InsertAfterCurrent<br> — <br>4<br> — элемент вставляется после текущего элемента; <br>• <br>InsertBeforeCurrent<br> — <br>5<br> — элемент вставляется перед текущим элементом; <br></div> <div> <br>500 <br>Часть II. Библиотека PyQt 5 <br>• <br>InsertAlphabetically<br> — <br>6<br> — при вставке учитывается алфавитный порядок следова- ния элементов; <br> setEditText(<Текст>)<br> — вставляет текст в поле редактирования. Метод является слотом; <br> clearEditText()<br> — удаляет текст из поля редактирования. Метод является слотом; <br> setCompleter(<QCompleter>)<br> — позволяет предлагать возможные варианты значений, начинающиеся с введенных пользователем символов. В качестве параметра указывается экземпляр класса <br>QCompleter<br>; <br> setValidator(<QValidator>)<br> — устанавливает контроль ввода. В качестве значения ука- зывается экземпляр класса, наследующего класс <br>QValidator<br> (см. разд. 21.5.3); <br> setDuplicatesEnabled(<Флаг>)<br> — если в качестве параметра указано значение <br>True<br>, пользователь может добавить элемент с повторяющимся текстом. По умолчанию повто- ры запрещены; <br> setMaxCount(<Количество>)<br> — задает максимальное количество элементов в списке. <br>Если до вызова метода количество элементов превышало это количество, лишние эле- менты будут удалены; <br> setMaxVisibleItems(<Количество>)<br> — задает максимальное количество видимых эле- ментов в раскрывающемся списке; <br> setMinimumContentsLength(<Количество>)<br> — задает минимальное количество символов, которое должно помещаться в раскрывающемся списке; <br> setSizeAdjustPolicy(<Режим>)<br> — задает режим установки ширины списка при измене- нии содержимого. В качестве параметра указываются следующие атрибуты класса <br>QComboBox<br>: <br>• <br>AdjustToContents<br> — <br>0<br> — ширина списка подстраивается под ширину текущего со- держимого; <br>• <br>AdjustToContentsOnFirstShow<br> — <br>1<br> — ширина списка подстраивается под ширину со- держимого, имевшегося в списке при первом его отображении; <br>• <br>AdjustToMinimumContentsLength<br> — <br>2<br> — использовать вместо него <br>AdjustToContents или <br>AdjustToContentsOnFirstShow<br>; <br>• <br>AdjustToMinimumContentsLengthWithIcon<br> — <br>3<br> — используется значение минимальной ширины, которое установлено с помощью метода setMinimumContentsLength()<br>, плюс ширина значка; <br> setFrame(<Флаг>)<br> — если в качестве параметра указано значение <br>False<br>, список будет отображаться без рамки; <br> setIconSize(<QSize>)<br> — задает максимальный размер значков; <br> showPopup()<br> — разворачивает список; <br> hidePopup()<br> — сворачивает список. <br>22.1.3. Поиск элементов <br>Произвести поиск элемента в списке позволяют методы findText()<br> (по тексту элемента) и findData()<br> (по данным с указанной ролью). Методы возвращают индекс найденного эле- мента или значение <br>-1<br>, если таковой не был найден. Форматы методов: findText(<Текст>[, flags=MatchExactly | MatchCaseSensitive]) findData(<Данные>[, role=UserRole][, flags=MatchExactly | MatchCaseSensitive]) <br></div> <div> <br>Глава 22. Списки и таблицы <br>501 <br>Параметр flags задает режим поиска. В качестве значения через оператор <br>|<br> можно указать комбинацию следующих атрибутов класса <br>QtCore.Qt<br>: <br> <br>MatchExactly<br> — <br>0<br> — поиск полного соответствия; <br> <br>MatchContains<br> — <br>1<br> — поиск совпадения с любой частью; <br> <br>MatchStartsWith<br> — <br>2<br> — совпадение с началом; <br> <br>MatchEndsWith<br> — <br>3<br> — совпадение с концом; <br> <br>MatchRegExp<br> — <br>4<br> — поиск с помощью регулярного выражения; <br> <br>MatchWildcard<br> — <br>5<br> — используются подстановочные знаки; <br> <br>MatchFixedString<br> — <br>8<br> — поиск полного соответствия внутри строки, выполняемый по умолчанию без учета регистра символов; <br> <br>MatchCaseSensitive<br> — <br>16<br> — поиск с учетом регистра символов; <br> <br>MatchWrap<br> — <br>32<br> — если просмотрены все элементы, и <a href="/razvivayushij-alebom-dlya-malishej-i-osobennih-rebyat/index.html" title="Развивающий альбом для малышей и особенных ребят">подходящий элемент не найден</a>, поиск начнется с начала списка; <br> <br>MatchRecursive<br> — <br>64<br> — просмотр всей иерархии. <br>22.1.4. Сигналы <br>Класс <br>QComboBox поддерживает следующие сигналы: <br> activated(<Индекс>)<br> и activated(<Текст>)<br> — генерируются при выборе пользователем пункта в списке (даже если индекс не изменился). Внутри обработчика доступен цело- численный индекс или текст элемента; <br> currentIndexChanged(<Индекс>)<br> и currentIndexChanged(<Текст>)<br> — генерируются при изменении текущего индекса. Внутри обработчика доступен целочисленный индекс <br>(значение <br>-1<br>, если список пуст) или текст элемента; <br> editTextChanged(<Текст>)<br> — генерируется при изменении текста в поле. Внутри обра- ботчика через параметр доступен новый текст; <br> highlighted(<Индекс>)<br> и highlighted(<Текст>)<br> — генерируются при наведении указате- ля мыши на пункт в списке. Внутри обработчика доступен целочисленный индекс или текст элемента. <br>22.2. Список для выбора шрифта <br>Класс <br>QFontComboBox реализует раскрывающийся список с названиями шрифтов. Шрифт можно выбрать из списка или ввести его название в поле — при этом станут отображаться названия, начинающиеся с введенных букв. Иерархия наследования: <br>(QObject, QPaintDevice) — QWidget — QComboBox — QFontComboBox <br>Формат конструктора класса <br>QFontComboBox<br>: <br><Объект> = QFontComboBox([parent=<Родитель>]) <br>Класс <br>QFontComboBox наследует все методы и сигналы класса <br>QComboBox<br> (см. разд. 22.1) и определяет несколько дополнительных методов: <br></qsize></qvalidator></qcompleter></qicon></qicon></qicon></qicon></qprinter></qurl>
1   ...   42   43   44   45   46   47   48   49   ...   83


написать администратору сайта