Я очень новичок в python и Tkinter
и matplotlib
, но я хочу создать и GUI приложение, которое поможет мне нарисовать диаграмму сдвига и момента для моего промежуточного проекта. Используя Tkinter
, вот что я сделал до сих пор (это все еще выполняется)
import tkinter as tk
from tkinter import *
import os
from beambending import Beam
from beambending import DistributedLoadV, PointLoadH, PointLoadV, x
''' Functionality'''
def run():
addsupport = tk.Tk()
addsupport.title("Choose the load")
F= tk.Canvas(addsupport, height=150, width=300,bg="White")
F.pack()
rollersupport=tk.Button(addsupport, text="Roller Support", height = "2", width="10", padx=10,
pady=5, fg="Black", bg="yellow")
rollersupport.place(x = 5, y = 5)
pinsupport=tk.Button(addsupport, text="Pin Support",height = "2", width="10", padx=10,
pady=5, fg="Black", bg="yellow")
pinsupport.place(x = 5, y = 50)
def graph():
graphm=tk.Tk()
graphm.title("Result!")
beam=Beam(10)
beam.pinned_support ==2
beam.rolling_support==7
beam.add_loads((
PointLoadV(-15, 3),
PointLoadV(-15, 4),
DistributedLoadV(-10, (4, 9)),
DistributedLoadV(30 + x, (0, 3)),
))
return beam.plot()
'''OS'''
root = tk.Tk()
root.title("Shear and Moment Diagram Calculator")
operator=""
canvas = tk.Canvas(root, height=400,width=500,bg="White")
canvas.pack()
frame=tk.Frame(root, bg="Light Blue")
frame.place(relwidth=0.9,relheight=0.9, relx=0.05, rely=0.05)
'''Bottuns'''
result=tk.Button(frame, text="Result", font=('airal', 30 ,'bold'), height="1", width="6", padx=10,
pady=5, fg="Black", bg="yellow", command = graph)
result.place(x=300 , y=305)
add_support=tk.Button(frame, text="Add Support", height="2", width="10", padx=10,
pady=5, fg="Black", bg="yellow", command = run)
add_support.place(x = 17, y = 310)
add_load=tk.Button(frame, text="Add Load", height="2", width="10", padx=10,
pady=5, fg="Black", bg="yellow")
add_load.place(x = 145, y = 310)
root.mainloop()
Одна вещь состоит в том, что lib, которую я использую, "beambending", уже построил рисунок в библиотеке сам. Так есть ли способ, которым я могу импортировать эту фигуру в мою кнопку «Результат», не встречая много ошибок? У меня есть тонны учебных пособий, и я следую за ними, но я все еще не могу понять, как это сделать. (Ошибка возникает в def graph()
: срабатывает при нажатии кнопки «Результат» в приложении GUI) Заранее спасибо.