#!/usr/bin/python
-*- coding: UTF-8 -*-
from Tkinter import *
def Price_get(dic,a):
# for key in dic:
# if key==a:
# c=d[key]
# return c;
def get_in(entry,argu):#定义在文本框中输入数字的函数
entry.insert(END,argu)
def Pc_calc():
root = Tk();
root.title("PC_CALC");
#将各个硬件及其价格存入字典
Cpu_dic={'i3-6100': 628, 'i3-6300' :1049 ,'i5-4590': 1148 ,'i5-4690k' :1599 ,'i5-6400': 1035 ,'i5-6500' :1130 ,'i5-6600': 1285 ,'i5-6600k': 1400, 'i7-4790': 1810 ,'i7-4790k': 2049 ,
'i7-6700': 1820, 'i7-6700k': 2040 ,'e3-1231v3': 1415 ,'i7-6800k' :2799, 'i7-6950x': 12888}
Gpu_dic={'gtx1080' :6199 ,'gtx1070': 3599 ,'gtx1060': 2399, 'gtx1050ti': 1299, 'gtx1050' :1099, 'gtx980ti' :5600, 'gtx980' :3799, 'gtx970' :2499, 'gtx960': 1699 ,'gtx950': 1199 ,'gtxtitan' :8099, 'gtx750ti' :899 ,'rx480': 2599, 'rx470': 1499, 'rx470d': 1399, 'rx460': 1099}
Disk_dic={'1T' :329 ,'2T': 425, '3T': 575};
Memory_dic={'8G' :399, '16G':709, '32G' :1559};
Mainboard_dic={'B85' :599 ,'B150' :999 ,'Z170' :1499, 'X99' :5999, 'H110': 619, 'H170' :999};
#创建5个label组件来显示cpu、显卡、内存、硬盘和主板
Lb_1=Label(root,text="CPU ").grid(row=0,sticky=W);#f放置在0行0列,向左对齐
Lb_2=Label(root,text="显卡 ").grid(row=1,sticky=W);
Lb_3=Label(root,text="硬盘 ").grid(row=2,sticky=W);
Lb_4=Label(root,text="内存 ").grid(row=3,sticky=W);
Lb_5=Label(root,text="主板 ").grid(row=4,sticky=W);
Lb_6=Label(root,text="总计 ").grid(row=5,sticky=W);
#创建让用户输入型号的文本框
text1=StringVar()
text2=StringVar()
text3=StringVar()
text4=StringVar()
text5=StringVar()
e1 = Entry(root,textvariable=text1).grid(row=0,column=2,columnspan=2,sticky=E);Cpu=text1.get();
for key in Cpu_dic:
if key==Cpu:
a=d[key];
e2 = Entry(root,textvariable=text2).grid(row=1,column=2,columnspan=2,sticky=E);Gpu=text2.get();
for key in Gpu_dic:
if key==Gpu:
b=d[key];
e3 = Entry(root,textvariable=text3).grid(row=2,column=2,columnspan=2,sticky=E);Disk=text3.get();
for key in Disk_dic:
if key==Disk:
c=d[key];
e4 = Entry(root,textvariable=text4).grid(row=3,column=2,columnspan=2,sticky=E);Memory=text4.get();
for key in Memory_dic:
if key==Memory:
d=d[key];
e5 = Entry(root,textvariable=text5).grid(row=4,column=2,columnspan=2,sticky=E);Mainboard=text5.get();
for key in Mainboard_dic:
if key==Mainboard:
e=d[key];
e6 = Entry(root).grid(row=5,column=2,columnspan=2,sticky=E)
price=a+b+c+d+e;
#创建两个按钮
button1 = Button(root, text='Calc it!',command=lambda:get_in(e6,price));
button1.grid(row=6, column=2,sticky=W);
button2 = Button(root, text='Exit it!');
button2.grid(row=6, column=3,sticky=W);
#进入消息循环;
root.mainloop()
if name=='__main__':
Pc_calc()