Форум сайта python.su
0
Есть код, который запускает окно в tkinter, в котором 4 кнопки.
Допустим лежит он в папке с четырьмя другими кодами, которые все запускают интерфейст tkinter.
Как сделать так, чтобы нажав на кнопку 1 запускалась первая программа, и с остальными кнопками соответственно?
Офлайн
27
Дык, привязать к кнопке эту самую программу1. При объявлении кнопки указываем, в её описании, следующим образом: command=программа1
Офлайн
0
Так как программу то привязать?
Офлайн
0
MrGeoпрограмму не знаю как, но функцию точно можно
Так как программу то привязать?
Офлайн
44
os.system(command) например (боюсь я об этом пожелею)
зы а вобще куча способов и я на вашем месте бы все таки … короче читайте профлитературку (рекомендую лутца)
и вставьте ссылку на его url Отредактировано AD0DE412 (Апрель 20, 2020 13:30:20)
Офлайн
27
Код в студию. В редакторе, где пишешь сообщение на форум: рядом со смайликом есть значек лист с треугольными скобками. Щелкаем на него, выбираем python и в предложенный тег вставляем код твоей программы.
Хочется глянуть как объявляется кнопка и как объявлена функция, которую хочешь привязать к кнопке.
Отредактировано Rafik (Апрель 20, 2020 16:47:09)
Офлайн
0
from tkinter import * root = Tk() root.title('Главная программа') button1 = Button(text='Интегрирование', bg='green', fg='red', width=39) button2 = Button(text='Решение нелинейного уравнения /\nдифференциального уравнения', bg='pink', fg='cyan', width=39) button3 = Button(text='Построение графика \nпараметрически заданной функции', bg='purple', fg='brown', width=39) button4 = Button(text='Конструктор блок-схем', bg='cyan', fg='orange', width=39) button1.pack() button2.pack() button3.pack() button4.pack() root.mainloop()
Отредактировано MrGeo (Апрель 20, 2020 18:04:06)
Офлайн
76
Тут я думаю будет ответ на твой вопрос. Только заимпорть из тех файлов, что у тебя есть запуски и прикрепи их
Офлайн
27
Во-первых что собой представляют твои расчётные модули? Если это скрипт-лапша (без всяких там def что-то_там), то имеет смысл в модуле “Главная программа” оформить его как функцию и по кнопке вызывать эту самую функцию.
Если расчётный модуль содержит функции (def-ы), то имеет смысл в “главной программе” импортировать модули, а в самих модулях сделать функцию, которая будет содержать код основной части. Вот эту-то функцию и вызывать по кнопке.
Привязку в tkinter можно сделать при объявлении кнопки. Как-то так:
def integrirovanie(): # здесь код, который проведёт расчет ... ... button1 = Button(text='Интегрирование', bg='green', fg='red', width=39, command=integrirovanie)
import integrirovanie ... ... ... button1 = Button(text='Интегрирование', bg='green', fg='red', width=39, command=имя_функции_которая_заускает_расчёт_в_модуле_integrirovanie)
Офлайн