Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 1
Регистрация: 30.12.2015
Сообщений: 23

ООП в Python. Организация класса с родительским окном и класса с дочерним окном

21.03.2017, 20:40. Показов 3107. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно есть такой код накиданый мной. Изначально передо мной была задача: Создать приложение с использованием tkinter и ООП подхода к построению GUI, чтоб было главное окно и дочернее, которое вызывается по клику на кнопку. Я новичёк, но погуглив и почитав литературу моё решение вылилось в такой вот код. Есть основной класс Main который наследуется от Frame и является родительским окном, также есть класс Child который наследуется от Toplevel в свою очередь является дочернем окном.

Вопрос состоит в том, на сколько корректно я реализовал данную задачу с профессиональной точки зрения. Хочу мнения опытных Питонистов, данная задача всплывает у многих в той или иной реализации. Есть желания создать базовый шаблон чтоб дальше продолжить реализацию собственного приложения.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import tkinter as tk
 
 
class Main(tk.Frame):
    def __init__(self, root):
        super().__init__(root)
        self.init_main()
 
    def init_main(self):
        toolbar = tk.Frame(bg='#d7d8e0', bd=2)
        toolbar.pack(side=tk.TOP, fill=tk.X)
 
        btnOpenDialog = tk.Button(toolbar, text='Добавить позицию', command=self.open_dialog, bg='#d7d8e0', bd=0, compound=tk.TOP)
        btnOpenDialog.pack(side=tk.LEFT)
 
    def open_dialog(self):
       Child()
 
 
class Child(tk.Toplevel):
    def __init__(self):
        super().__init__(root)
        self.title('Добавить доходы/расходы')
        self.geometry('400x220+400+300')
        self.resizable(False, False)
 
if __name__ == "__main__":
    root = tk.Tk()
    app = Main(root)
    app.pack()
    root.title("Домашние финансы")
    root.geometry("650x450+300+200")
    root.resizable(False, False)
    root.mainloop()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2017, 20:40
Ответы с готовыми решениями:

Проблема с дочерним окном
Важный вопрос у меня в этой книге использ. дочернее окно! но когда я установила свойсво IsMdiContainer и для пукнта меню обратобала...

Работа с дочерним окном
Добрый день, первый раз работаю с WinApi, необходимо, чтб ы при нажатии на кнопку появлялось новое окно дочернее. Я написала такой код: ...

Работа с WPF окном из стороннего класса
Здравствуйте. Не могу разобраться со следующей проблемой. Есть окно MainWindow.xaml на которое ссылается app.xaml. Рабочая область...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2017, 20:40
Помогаю со студенческими работами здесь

Работа с дочерним окном программы
Необходимо написать прогу, которая запускает другую программу (exe-файл) на выполнение. При этом запускающая программа будет работать с...

Проблемы с дочерним окном в MFC
Проблема такого рода... на новом окне не работает ни один элемент управления - что делать? Что я пропустил при создании окна? Код вызова...

tkinter. Работа с дочерним окном
- Здравствуйте товарищи! Никак не разберусь с tkinter. Есть такой маленький пример: from tkinter import * class Window: ...

Главное окно над дочерним окном
Есть Form1 и Form2 в Unit1 и Unit2. Когда они оба отображаются, как поместить Form1 над Form2?

Сделать Form2 нормальным дочерним окном
Не получается сделать Form2 при выключенной Form1 таким дочерним окном, чтобы: 1) Form2 была при этом отделена от Form1 2) при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru