Итак по-очереди:
Ubhra
1) В чем нужно указывать размеры (если не в px), для правильной работы на разных разрешениях?
В пикселях, в пикселях. Но нужно просто высчитывать. Это проще. Сталкивался с тем, что другие величины не всегда отображаются адекватно…
Ubhra
2) Как добавить сетке прозрачности? Читал про битмапы, но мало что понял.
Я бы просто рекомендовал использовать светло-серый цвет. Цвет можно установить в параметры fill линии. Еще есть вариант нанести множество png изображений размеров в 1 пиксель с альфапрозрачностью, но я не знаю насколько это будет ресурсоемко да и как потом эту хрень масштабировать.
Ubhra
3) Как изначально отобразить центр сетки (4000,4000,4000,4000) по центру канваса?
Мои рекомендации: используейте canvas.create_window(). Это позволит вам настроить отображение этого окна (какая часть внутреннего канваса будет у Вас видна или точку монтирования внутреннего канваса относительно окна). Понимаю, что запутанно говорю, но проще не могу
![](/static/djangobb_forum/img/smilies/smile.png)
Ubhra
4) Как научить сетку двигаться с помощью ПКМ? (То есть при видимой (например) области 400 на 300, двигать все содержимое, вернувшись в вопросу №3 отображать по центру канваса сетку с иными координатами)
Вот тут уже интереснее. Вешаете на нажатие правой кнопки + Motion бинд и обрабатываете событие. В функции обработчике анализируете event.x и event.y. И на его изменения перемещаете объект внутри window (построенного в пункте 2) на нужные пиксели.
Ubhra
П.С. И пятый вопросик забыл. Как этот центральный канвас скролом приближать и отдалять? Уменьшать шаг сетки?
Не надо забывать
![](/static/djangobb_forum/img/smilies/smile.png)
Тут есть небольшая проблема. Обработчик на скролл в никсах и в винде вешается по-разному. Нужно это будет прописывать. А так легко. Есть метод .scale… Плюс в винде нужно делать bind_all.
Будут вопросы - пишите.