【压强】模拟器 如何用python模拟压强变化 压强实验 初中物理

目录

 

一.介绍

二.视频

三.代码


 

一.介绍

用python可以制作可以模拟压强变化的模型,在一个双口瓶的一端用橡胶薄膜封闭,另一端加水观察橡胶薄膜的变化。

68784b62c572466ca837585f4a073e0f.png

二.视频

首先我们看一下效果:

【压强】模拟器 如何用python模拟压强变化 压强实验 初

三.代码

源代码:

from tkinter import *
import tkinter as tk
import threading,os,time

class basedesk():#底板
    def __init__(self, master):
        self.master = master
        self.master.title("压强模拟器")
        self.master.configure(bg='#B1FFF9')
        self.master.geometry("1000x600")
        mainwindow(self.master)
class mainwindow():#主界面
    def __init__(self, master):
        self.master = master
        self.window = tk.Frame(self.master, bg='#e5ffe5')
        self.window.place(x=0,y=0,width=1000,height=600)
        self.window.file=PhotoImage(file="menu.png")#用一张1000*600的图即可
        self.window.showname_label=tk.Label(self.window,image=self.window.file)
        self.window.showname_label.place(x=0,y=0,width=1000,height=600)
        self.window.enter_btn=tk.Button(self.window,text="开始",bg='#ffffe5',fg='#333399',font=("Helvetic", 60, "bold"),command=self.changetofunction).place(x=360, y=400,width=250, height=150)
    def changetofunction(self,):
        self.window.destroy()
        functionwindow(self.master)
class functionwindow():
    def __init__(self, master):
        self.master = master
        self.window = tk.Frame(self.master, bg='#FFFFFF')
        self.window.place(x=0,y=0,width=1000,height=600)
        self.num=450
        self.num2=450
        self.window.bottlecanvas=Canvas(self.window,width=1000,height=600,bg='white')
        self.window.bottlecanvas.place(x=0,y=0)
        self.window.bottlecanvas.showaction_label=tk.Label(self.window.bottlecanvas,text="设置水位线",bg='#FFFFFF',fg='#000000',font=("Helvetic", 20, "bold"))
        self.window.bottlecanvas.showaction_label.place(x=0,y=50,width=200,height=50)
        self.window.slider=Scale(self.window.bottlecanvas,from_=400,to=0)
        self.window.slider.place(x=200,y=50,width=50, height=400)
        self.window.bottlecanvas.create_rectangle(500,50,600,450,fill="white")
        self.window.blue=self.window.bottlecanvas.create_rectangle(500,450,600,450,fill="blue")
        self.window.orange=self.window.bottlecanvas.create_arc(500,450,600,450,extent=180,start=180,fill="orange")
        self.thread=threading.Thread(target=self.detector)
        self.thread.start()
    def detector(self):
        while True:
            self.num=450-self.window.slider.get()
            self.num2=self.window.slider.get()/5
            self.window.bottlecanvas.coords(self.window.blue, 500, self.num, 600, 450)
            self.window.bottlecanvas.coords(self.window.orange, 500, 450-self.num2,
                                            600, 450+self.num2)

if __name__ == '__main__':#主函数
    root = tk.Tk()
    root.resizable(False, False)
    basedesk(root)
    root.mainloop()
    os._exit(0)

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值