Найти - Пользователи
Полная версия: PyQt4: scrolled window
Начало » GUI » PyQt4: scrolled window
1
leonid_10
Бейте, ругайте, но ни у Саммерфилда, ни у Шлее я ничего ни нашёл из того, что меня интересует.
Мне нужно создать окно, в котором юзер будет рисовать. Размер холста должен устанавливаться юзером и может быть намного больше размеров монитора. PyQt имеет, на мой взгляд, огромный потенциал, но разобраться с ней основательно намного трудней, чем с wx не зная английского на должном уровне. А wx в моём альтлинуксе работать отказывается. Прямо как в многоуровневой игре: осилил wx, попробуй теперь с кутёй потягаться.
Вообще, не пойму, почему в дизайнере Qwidget появляется в дереве с иконкой имеющей какой-то красный кружок. Не пойму, что я должен вопхнуть в окно, что будет масштабироваться для рисования там QPainter. В дизайере добавляю в окно 800x600 scrolledaria, в него Qwidget 1000х1000, а предпросмотр никаких полос прокрутки не показывает. Прямо хоть убейся, но ищи линь с рабочим wx, или задавай вопросы спецам.
Где написано про это хотя бы на латинице? На китайском я не пойму точно.
dartNNN
С PyQt идет папочка с примерами. Не знаю, где она в линуксе, но найти не трудно. Так вот там есть целая папка с названием painting. А еще где-то рядом должна лежать папка с говорящим названием “doc”. Где написано все про все:) (правда с примерами на С++, но суть одна и та же). Да и вообще рисовать гуи в дизайнере - это не для суровых программистов:) Что касается скрола и виджета, то может быть дело в политике ресайза виджета, который сжимается до размеров содержимого. Вобщем смотрите папку с примерами, там они почти на все возможные случаи есть. Разбирайтесь, и да пребудет с вами Сила (и спокойствие:))
leonid_10
dartNNN
Вобщем смотрите папку с примерами, там они почти на все возможные случаи есть. Разбирайтесь, и да пребудет с вами Сила (и спокойствиеsmile)
Перерыл всё - не нашёл примеров. Похоже, альтлинукс облегчил пакет pyQt4, но, зато нашёл очень хорошее руководство на русском языке по созданию оконных приложений pyQt, правда, для третьего питона, но это уже мелочи.
Прямая ссылка на файл pdf:
http://vmg.pp.ua/books/%D0%9A%D0%BE%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D1%8B%D0%98%D1%81%D0%B5%D1%82%D0%B8/python/PyQt.pdf
dartNNN
В таком случае примеры можно взять из исходных кодов http://www.riverbankcomputing.co.uk/software/pyqt/download
nerijus
Вот вам пример для начала: http://www.qtcentre.org/wiki/index.php?title=QGraphicsView:_Smooth_Panning_and_Zooming перевести с QT на PyQT очень просто. Здесь рисования мышью нет, но это нетрудно сделать. А QScrollArea использовать не советую.
leonid_10
nerijus
перевести с QT на PyQT очень просто. Здесь рисования мышью нет, но это нетрудно сделать.
Переводить и не нужно, этот виджет есть в примерах. Рисовать я научился в wxPython. Тут другая проблема просвечивается, с которой я не знаю, как бороться. matrix масштабирует всё подряд, а мне это не нужно. Например, увеличивая масштаб, увеличивается background. Я неделю соображал, как задать противоборствующую увеличению масштаба переменную, так толком и не сообразил. А мне нужно, чтобы шахматная сетка имитировала прозрачный холст одинаково при любом масштабе и размере холста, иначе при большом увеличении на экране остаётся одна огромная клетка, по которой очень трудно оценить прозрачность.
И толщину линий мне нужно оставить прежнюю, чтоб как в трёхмерном редакторе: куб меняет свой размер, но толщина рёбер при этом не меняется
А в примере так вообще, math, подключили и зачем-то по какой-то тригонометрической закономерности изменяют масштаб, чтоб урок лёгким не был.
Вообще, не очень дружелюбная среда. Одних только QtGui, QtCore нужно тысячу раз написать.
Хорошо в wx - две буквы всегда: wx
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB