PySide QGraphicsTextItem проблемы

Я пытаюсь создать текстовый редактор, похожий на слово (paginated) в PySide.

Для решения этой проблемы я решил использовать QGraphicsScene с QGraphicsTextItem для каждой страницы и кодировать фокус с помощью взаимодействия.

Теперь все, что я сейчас пытаюсь сделать, - это иметь поле, представляющее страницу A4, и обрабатывать события с измененным текстом, используя функцию QGraphicsTextItem.document(). PageCount().

Я столкнулся с несколькими проблемами:

  1. Как я могу правильно определить размер страницы, если QSizeF не использует какие-либо единицы измерения? Гарантирует ли определение этого права истинное возвращаемое значение из pageCount()?

  2. Если я вообще определю pageSize, QGraphicsTextItem перестанет расширяться. Как я могу установить фиксированный размер, чтобы он выглядел как страница?

Документация для Qt очень легкая, и я ничего не могу понять из этого.

Спасибо за помощь

2 ответа

Хотя есть четкие вопросы, ответы в значительной степени зависят от всего вашего кода и того, что именно вы хотите достичь. Я бы порекомендовал вам прочитать эту КНИГУ, потому что в ней блестящие объяснения о Python и Qt.

В главе 12 вы можете найти объяснения ваших проблем, а также возникших проблем. В подразделе "Пользовательские и интерактивные графические элементы" автор кодирует пример приложения, аналогичного вашему.

из книги о размере страницы:

PageSize = (612, 792)
PointSize = 10
MagicNumber = 0x70616765
FileVersion = 1
Dirty = False

Начиная с Qt 5.3, QPageSize есть все необходимое, чтобы узнать размеры страницы в любых единицах измерения.

Другие вопросы по тегам