2017-02-18 2 views
-3

Мне действительно нужна помощь, я написал скрипт, который реализует уравнение потока. Проблема в том, что я хотел бы преобразовать это в графический интерфейс, я студент, и я собираюсь отправить это задание в ближайшее время, у меня нет времени на изучение Tkinter, но я обязательно узнаю его в следующем месяце. скрипт ниже:Преобразование скрипта в графический интерфейс с использованием Tkinter

print ("this program measures gas flowrate in pipes with effect of elevation, making use of USCS unit") 
e=2.718 
Tb=520 
Pb=14.7 
f=float(input("Friction factor,f: ")) 
P1=float(input("upstream pressure,P1: ")) 
P2=float(input("downstream pressure,P2: ")) 
G=float(input("gas gravity,G: ")) 
Tf=float(input("average gas flowing temperature,Tf: ")) 
L=float(input("pipe line segment,L: ")) 
Z=float(input("gas compressibility factor at flowing temperature,Z: ")) 
D=float(input("pipe inside diameter,D: ")) 
H1=float(input("upstream elevation,H1: ")) 
H2=float(input("downstream elevation,H2: ")) 
s=float((0.0375*G)*((H2-H1)/(Tf*Z))) 
j=float((e**s-1)/s) 
Le=float(L*j) 
F=float(2/f**0.5) 
Q=38.77*F*(Tb/Pb)*((P1**2-(e**s*P2**2))/(G*Tf*Le*Z))**0.5*D**2.5 
print(j); 
print(s); 
print(Q); 

Большое спасибо за помощь

+0

Что бы вы хотели иметь в качестве графического интерфейса? Вход и выход? –

+0

Похоже, вы могли бы использовать [EasyGUI] (http://easygui.sourceforge.net/). – martineau

+1

Итак, вы просите нас сделать домашнее задание для вас? Для этого не существует stackoverflow. –

ответ

2

Во-первых, импорт Tkinter и создать главный объект:

import Tkinter as tk 

master = tk.Tk() 

Затем создать входы, которые будут идти в главном окне. Для каждого входа, создать ярлык и запись для входа:

Пример:

L1 = tk.Label(master, text="friction factor, f: ") 
L1.pack() 
L1.grid(row=0, column=0) 

E1 = tk.Entry(master, bd =5) 
E1.pack() 
E1.grid(row=0, column=1) 

# .... all other labels and input entries 
# And a label for the result: 

result = tk.Label(master) 
result.pack() 

Затем получить все значения из записей в переменных, например:

f = float(E1.get()) 

добавить для ввода в эксплуатацию:

button = tk.Button(master, text='Calculate', command=calculate) 
button.pack() 

# calculate is a function that you will define, that gets all values from the input and returns the final value. Send also the result label to the function to change the text of the result label. 

def calculate(result, f, .....): 
    # Your calculating algorithem 
    output = "j: " + str(j) + ", Q: "+ str(Q) + ", s: "+str(s) 
    result.config(text=output) 

В конце вашего кода у вас будет эта строка, которая запускает w indow:

master.mainloop() 

Если вам нужны дополнительные пояснения, напишите.

+0

[PEP8] (https://www.python.org/dev/peps/pep-0008/#) рекомендует использовать импорт подстановочных знаков. –

+0

@BryanOakley Я знаю, это плохая привычка, но он действительно не ищет лучшего решения - это просто то, что сработает. –

+0

Если вы знаете, что это плохая привычка, не учите других делать это. Это человек, который ничего не знает о tkinter, и первое, что вы делаете, учит их дурной привычке. –

Смежные вопросы