加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.py 5.98 KB
一键复制 编辑 原始数据 按行查看 历史
Leyusf 提交于 2021-04-26 20:13 . software 版本
# coding=utf-8
from tkinter import *
from PIL import Image, ImageTk
from oblique import outputOblique
from straight import outputStraight
strInp = ["", "", "", "", "", "", "", "", ""]
oblInp = ["", "", "", "", "", "", "", "", "", "", "", "", ""]
strData = [15000, 2000, 30, 58890, 32.4, 2.65, 34500, 235, 200000]
oblData = [100, 235, 200000, 30, 2906.604147, 15000, 2000, 58890, 32.4, 2.65, 34500, 235, 200000]
def straight():
txt.insert(END, "基于正裂缝信息的混凝土简支梁受弯状态评估结果:\n")
global strData
res = outputStraight(float(strData[0]), float(strData[1]), float(strData[2]), float(strData[3]), float(strData[4]),
float(strData[5]), float(strData[6]), float(strData[7]), float(strData[8]), 4643) # 有默认参数
txt.insert(END, res)
def oblique():
txt.insert(END, "基于斜裂缝信息的钢筋混凝土简支梁受剪状态评估结果:\n")
global oblData
res = outputOblique(float(oblData[0]), float(oblData[1]), float(oblData[2]), float(oblData[3]), float(oblData[4]),
float(oblData[5]), float(oblData[6]), float(oblData[7]), float(oblData[8]), float(oblData[9]),
float(oblData[10]), float(oblData[11]), float(oblData[12])) # 有默认参数
txt.insert(END, res)
def edit():
tk = Tk()
tk.title("数据编辑器")
tk.geometry('960x480')
straightText = ["宽度b(mm)",
"高度h(mm)",
"钢筋合力作用点到边缘的距离δs(mm)",
"钢筋截面积As(mm^2)",
"混凝土抗压强度fc (Mpa)",
"混凝土抗拉强度ft(Mpa)",
"混凝土弹性模量Ec(Mpa)",
"钢筋屈服fy(Mpa)",
"钢筋弹性模量Es(Mpa)"]
obliqueText = ["握筋间距S(mm)",
"箍筋屈服强度fyVs(Mpa)",
"箍筋弹性模量Es(Mpa)",
"钢筋合力作用点到边缘的距离δs(mm)",
"箍筋截面积Asvs(mm^2)",
"宽度b(mm)",
"高度h(mm)",
"钢筋截面积As(mm^2)",
"混凝土抗压强度fc (Mpa)",
"混凝土抗拉强度ft(Mpa)",
"混凝土弹性模量Ec(Mpa)",
"钢筋屈服fy(Mpa)",
"钢筋弹性模量Es(Mpa)"
]
# 标签控件,显示文本和位图,展示在第一行
Label(tk, text="截面和材料参数输入(正裂缝)").grid(row=0, column=0, sticky=E)
for i in range(0, 5):
Label(tk, text=straightText[i]).grid(row=i + 1, column=0, sticky=W)
for i in range(0, 4):
Label(tk, text=straightText[i + 5]).grid(row=i + 1, column=2, sticky=W)
Label(tk, text="截面和材料参数输入(斜裂缝)").grid(row=6, sticky=E)
for i in range(0, 7):
Label(tk, text=obliqueText[i]).grid(row=i + 7, column=0, sticky=W)
for i in range(0, 6):
Label(tk, text=obliqueText[i + 7]).grid(row=i + 7, column=2, sticky=W)
# 输入控件
for i in range(0, 5):
strInp[i] = Entry(tk)
strInp[i].grid(row=i + 1, column=1)
for i in range(0, 4):
strInp[i + 5] = Entry(tk)
strInp[i + 5].grid(row=i + 1, column=3)
for i in range(0, 7):
oblInp[i] = Entry(tk)
oblInp[i].grid(row=i + 7, column=1)
for i in range(0, 6):
oblInp[i + 7] = Entry(tk)
oblInp[i + 7].grid(row=i + 7, column=3)
# btn = Button(tk, text="确认")
btn = Button(tk, text="确认", command=alter)
btn.grid(row=16, column=0, sticky=W)
def alter():
for i in range(0, 9):
s = strInp[i].get()
s.strip()
s.lstrip()
s.rstrip()
if s != "":
strData[i] = float(s)
for i in range(0, 13):
s = oblInp[i].get()
s.strip()
s.lstrip()
s.rstrip()
if s != "":
oblData[i] = float(s)
def fresh():
txt.delete(1.0, END)
# 基础设置
root = Tk()
root.title('桥梁承载能力评估模型')
root.geometry('1080x720')
root.configure(background='#272627')
img = Image.open("logo/logo.png")
photo = ImageTk.PhotoImage(img)
logo = Label(root, image=photo, bg='#272627')
logo.place(relx=0.1, rely=0.55, relwidth=0.3, relheight=0.35)
# 标题 - 桥梁承载能力评估模型
lb1 = Label(root, text='桥梁承载能力评估模型', bg='#272627', fg='#A0CBF1', font=("黑体", 32, 'bold'))
lb1.place(relx=0.1, rely=0.1, relheight=0.1)
# 按钮(上) - 基于正裂缝信息的混凝土简支梁受弯状态评估
btn1 = Button(root, text='基于正裂缝信息的混凝土简支梁受弯状态评估',
command=straight, bg='#333232', fg='#A0CBF1',
activebackground='#272626', activeforeground='#9B9B9B')
btn1.place(relx=0.1, rely=0.3, relwidth=0.3, relheight=0.1)
# 按钮(下) - 基于斜裂缝信息的钢筋混凝土简支梁受剪状态评估
btn2 = Button(root, text='基于斜裂缝信息的钢筋混凝土简支梁受剪状态评估',
command=oblique, bg='#333232', fg='#A0CBF1',
activebackground='#272626', activeforeground='#9B9B9B')
btn2.place(relx=0.1, rely=0.4, relwidth=0.3, relheight=0.1)
# 结果输出框 - 在窗体垂直自上而下位置30%处起,布局相对窗体高度60%高的文本框
txt = Text(root, fg='#E1E1E1', bg='#323232', relief=FLAT)
txt.place(relx=0.5, rely=0.1, relheight=0.8, relwidth=0.4)
# 按钮 - 清空结果
btn3 = Button(root, text='清空结果', command=fresh,
bg='#333232', fg='#9B9B9B',
activebackground='#272626', activeforeground='#9B9B9B')
btn3.place(relx=0.1, rely=0.25, relwidth=0.1, relheight=0.05)
# 按钮 - 数据编辑器
btn4 = Button(root, text='数据编辑器', command=edit,
bg='#333232', fg='#9B9B9B',
activebackground='#272626', activeforeground='#9B9B9B')
btn4.place(relx=0.2, rely=0.25, relwidth=0.15, relheight=0.05)
root.mainloop()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化