Я хочу создать кнопку в tkinter и при нажатии этой кнопки вызвать другую программу в эту программу. (это просто пример) Скажем, у меня есть одна программа, которая показывает кнопку с надписью «Квадратный корень», и у меня есть другая программа, которая принимает число, такое как: 4, используя функцию input(), и находит квадратный корень из 4. Я хочу, чтобы эта кнопка при нажатии вызывала «программу извлечения квадратного корня» и вводила ее в программу «кнопки». (Опять же, просто пример. Если бы я действительно хотел работать с квадратным корнем, я бы просто сделал другую функцию с именем: def square_root())
#Button.py
from tkinter import *
root = Tk()
def call_the_other_program():
#This is the part I don't know how to do...
#Do I import the different program somehow?
#Is this even possible xD
b = Button(root, text = "Square root", command = call_the_other_program())
Программа квадратного корня:
import math
x = input("input a number")
print("the square root of", x, "is:", math.sqrt(x))
#I want this to be the program that is called
Спасибо, что объяснили мне! 😊
Вы можете определить функцию square_root
в other_prog.py
, импортировать ее и вызвать.
Я бы посоветовал вам сначала хранить все связанные файлы в одной папке, чтобы не усложнять процесс импорта.
import math
def square_root():
x = float(input('enter a square'))
return math.sqrt(x)
import tkinter as tk
from other_prog import square_root
def call_square_root():
print(f'the square root is {square_root()}')
root = Tk()
b = Button(root, text = "Square root", command=call_square_root())
b.pack()
root.mainloop()
Пример немного надуманный; команда кнопки может быть напрямую square_root
, как в NameSpace
после импорта.