Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 18 фев 2019, 06:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7
Автор Сообщение
 Заголовок сообщения: Re: Python - графика
Непрочитанное сообщениеДобавлено: 03 фев 2019, 19:10 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11512
Откуда: Харьков
Olej писал(а):
Логика такого дизайнера такая:
- построив UI сохраняем его как XML файл ... в экзамплах они приводят helloworld.ui ...
- а потом он используется в коде, как пример приводится:

Леплю такое вот условное приложение, похожее на то, что мне нужно:
Вложение:
p10.png
p10.png [ 70.06 КБ | Просмотров: 19 ]

Код:
olej@ACER:~/2019_WORK/own.WORK/python$ ls -l xlock.*
-rwxr-xr-x 1 olej olej 1008 фев  3 17:50 xlock.py
-rw-r--r-- 1 olej olej 4362 фев  3 17:46 xlock.ui

olej@ACER:~/2019_WORK/own.WORK/python$ file xlock.ui
xlock.ui: XML 1.0 document text

- xlock.ui - это то, что сгенерировал pygubu - XML описание структуры UI;
- xlock.py - это то, что я написал для использования этого UI:
Код:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import tkinter as tk 
import pygubu

class Application:
    def __init__(self, master):

        #1: Create a builder
        self.builder = builder = pygubu.Builder()

        #2: Load an ui file
        builder.add_from_file( 'xlock.ui' )

        #3: Create the widget using a master as parent
        self.mainwindow = builder.get_object( 'Frame_1', master )

if __name__ == '__main__':
    root = tk.Tk()
    app = Application(root)
    root.mainloop()

Запуск:
Код:
olej@ACER:~/2019_WORK/own.WORK/python$ ./xlock.py
ERROR:pygubu.builder.builderobject:Failed to set property 'container' on class '<class 'tkinter.Frame'>'. TclError: can't modify -container option after widget is created

Вложение:
p11.png
p11.png [ 9.54 КБ | Просмотров: 19 ]

Оно сырое, горбатое, но это минимально необходимо и достаточно, для того что нужно! : есть дерево виджетов, их имена, и класс приложения, который нужно только расширять.

P.S. Обратите внимание на картинку дизайнера - он использует компоновщик grid а не pack Tk, что тоже то, что хотелось.


Вложения:
xlock.py [504 байт]
Скачиваний: 2
Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Python - графика
Непрочитанное сообщениеДобавлено: 03 фев 2019, 21:28 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11512
Откуда: Харьков
Olej писал(а):

Без всяких фокусов, не задумываясь о компоновке и флагах, размещаю виджеты на панели шаблона:
Вложение:
p10.png
p10.png [ 7.87 КБ | Просмотров: 18 ]


Вложение:
p11.png
p11.png [ 15.46 КБ | Просмотров: 18 ]


В меню, сохранив проект, дав ему имя, нужно сгенерировать 2 .py файла:
Вложение:
p15.png
p15.png [ 13 КБ | Просмотров: 18 ]

- Generate Python GUI
- Generate Support Module (на картинке обрезан)
Код:
olej@ACER:~/2019_WORK/own.WORK/python$ ls xlock_page*.*
xlock_page.py  xlock_page_support.py  xlock_page_support.pyc  xlock_page.tcl

<xlock_page> - это "имя проекта".
Запуск:
Код:
olej@ACER:~/2019_WORK/own.WORK/python$ python3 xlock_page.py

И получаем:
Вложение:
p13.png
p13.png [ 7.93 КБ | Просмотров: 18 ]


Вложения:
xlock_page.py [2.58 КБ]
Скачиваний: 2
xlock_page_support.py [706 байт]
Скачиваний: 2
Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.309s | 17 Queries | GZIP : On ]