tkintercad打开文件未响应怎么对他进行操作呢

TKINTER教程_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
TKINTER教程
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩91页未读,
定制HR最喜欢的简历
你可能喜欢教你怎么用Python Tkinter(TK)写一个HelloWorld_百度经验
&&&&&&&&&电脑软件教你怎么用Python Tkinter(TK)写一个HelloWorld听语音1234567
百度经验:jingyan.baidu.comTkinter(tk)是一个Python内置的图形库,起源于Tcl语言,也是绝大部分程序员学python时必学的一个图形库,tk图形库能满足常见的一些图形需求,所以开发中小型桌面程序,使用tk是不错的选择。百度经验:jingyan.baidu.comPython2 + PyCharm4百度经验:jingyan.baidu.com1小编这里使用PyCharm4作为IDE,Python版本2.7打开PyCharm,创建一个新项目。如果没有汉化的小伙伴,好样的,点击左上角File -& New Project2选择第一个,python项目。3选择好项目保存路径和解释器路径之后,我们点击Create创建。4右键左边的项目,选择New -& Python File5然后输入文件名点击OK即可。例如小编这里就叫Tk-HelloWorld6创建完成之后,输入代码,如下:import Tkinterwin = Tkinter.Tk()Tkinter.Label(win,text = &Hello World!&).pack()win.mainloop()下面来解释下语句:win = Tkinter.Tk():实例化tk对象Tkinter.Label(win,text = &Hello World!&).pack()相当于两句即a =&Tkinter.Label(win,text = &Hello World!&)a.pack()Tkinter.Label(win,text = &Hello World!&)创建一个标签,该标签的文本内容为&Hello World!&pack()是一个布局函数,可以理解为,我们创建标签后,使用pack函数把标签放在窗口哪个位置。而我们pack不带任何参数即为缺省。win.mainloop()则是窗口循环7按下F5运行,结果如图。END百度经验:jingyan.baidu.com1怎么关注?在经验的右上角小编头像旁边点击关注,如图。2怎么点赞?请在经验左侧点赞,如图。3怎么投票?在经验的下方点击投票,如图。4如果觉得小编写的还不错,可以动动鼠标把它分享给您的朋友。如何分享,鼠标移动到右下角第一个按钮上,在弹出的选项中进行分享,如图。不尽感激。END百度经验:jingyan.baidu.com如果喜欢本经验,请关注我。可以把它分享给您的朋友,请点个投票点个收藏。谢谢,您的支持是我最大的动力。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(0)已投票(0)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验00000热门杂志第1期你不知道的iPad技巧3793次分享第1期win7电脑那些事6643次分享第2期新人玩转百度经验1412次分享第1期Win8.1实用小技巧2655次分享第1期小白装大神1928次分享◆请扫描分享到朋友圈本文出自汗血宝马,转载时请注明出处及相应链接。
本文永久链接: http://www.caotama.com/52286.html
Ɣ回顶部教你如何用python设置和获得Tkinter窗口位置_百度经验
&&&&&&&&&电脑软件教你如何用python设置和获得Tkinter窗口位置听语音1234567
百度经验:jingyan.baidu.com我们在创建Tk窗口的时候,总想设置窗口出现在屏幕的具体位置。下面小编就教大家怎么获得和设置窗口出现在屏幕的位置。百度经验:jingyan.baidu.comPythonTkinter百度经验:jingyan.baidu.com1我们先来看看这张图,从图中我们可以看出,窗口距离屏幕顶端的距离,为y轴,窗口距离屏幕左边最边缘的位置,为x轴。这些属性决定了窗口出现在屏幕的位置。2获得tk窗口的位置,我们可以通过tk对象提供的winfo_x和winfo_y来获得窗口所在屏幕的x轴和y轴,获取之前别忘了用update方法刷新窗口#-*- coding:utf-8 -*-import tkinterwin = tkinter.Tk()win.update()print(&窗口位于屏幕x轴:& + str(win.winfo_x()))print(&窗口位于屏幕y轴:& + str(win.winfo_y()))win.mainloop()3我们可以做一个动态显示屏幕窗口x/y位置的程序。这里我们需要用到事件绑定。修改代码如下:#-*- coding:utf-8 -*-import tkinter#change函数,如果窗口属性被改变则执行def change(event):& & win.update()& & print(&(窗口位置被移动)窗口位于屏幕x轴:& + str(win.winfo_x()))& & print(&(窗口位置被移动)窗口位于屏幕y轴:& + str(win.winfo_y()))win = tkinter.Tk()win.update()win.bind(&&Configure&&,change) #绑定事件print(&窗口位于屏幕x轴:& + str(win.winfo_x()))print(&窗口位于屏幕y轴:& + str(win.winfo_y()))win.mainloop()4设置tk窗口的位置,我们通过geometry方法来进行设置。win.geometry(&+0+0&)#设置tk窗口位于左上角win.geometry(&+100+50&)#设置tk窗口位于屏幕x轴100像素点开始,y轴50像素点END百度经验:jingyan.baidu.com1怎么关注?在经验的右上角小编头像旁边点击关注,如图。2怎么点赞?请在经验左侧点赞,如图。3怎么投票?在经验的下方点击投票,如图。4如果觉得小编写的还不错,可以动动鼠标把它分享给您的朋友。如何分享,鼠标移动到右下角第一个按钮上,在弹出的选项中进行分享,如图。不尽感激。END百度经验:jingyan.baidu.com人生苦短,我用Python小编用的是Python3,使用Python2的小伙伴把tkinter改成Tkinter即可如有疑问,点击左下角的投票或者有得给小编留言,小编看到会第一时间回复您,谢谢如果喜欢本经验,请关注我。可以把它分享给您的朋友,请点个投票点个收藏。谢谢,您的支持是我最大的动力。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(0)已投票(0)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验00000热门杂志第1期你不知道的iPad技巧3793次分享第1期win7电脑那些事6643次分享第2期新人玩转百度经验1412次分享第1期Win8.1实用小技巧2655次分享第1期小白装大神1928次分享◆请扫描分享到朋友圈python 文件操作学习
# -*- coding: utf-8 -*-
#使用cp936 写入文件名会有问题,原因是编码方式的差异
创建GUI解码servo CAN数据
import re#正则表达式库
import sys
import time
import chardet
import datetime
import tkFileDialog
import tkMessageBox
Tkinter import *
filename = ""
def get_file():
global filename
#创建文件对话框,只打开txt类型文件
filename = tkFileDialog.askopenfilename(filetypes=[("text file", "*.txt")])
var.set(filename)
def convert_result():
tkMessageBox.showinfo("转换结果",u"CAN数据解密成功")
def get_H(tmp):
return (tmp&0xF0)&&4
def get_L(tmp):
return tmp&0x0F
#拼接成一个字节 8bits
def get_all_byte(H,L):#注意优先级+高于&&高于&
return ((L&0x0F)+((H&0x0F)&&4))
#拼接一个半字 16bits
def get_half_word(byteH,byteL):
return (((byteH&0xFF)&&8)+(byteL&0xFF))
#拼接一个字 32bits H-&L
def get_one_word(byte3,byte2,byte1,byte0):
ha_wd1 = ((byte3&0xFF)&&8)+(byte2&0xFF)
ha_wd0 = ((byte1&0xFF)&&8)+(byte0&0xFF)
return (ha_wd1&&16)+ha_wd0
def data_unlock(buff):
##-------------拆分数据-----------##
FrontCon_data0_L = get_L(buff[0])
FrontCon_data0_H = get_H(buff[0])
FrontCon_data1_L = get_L(buff[1])
FrontCon_data1_H = get_H(buff[1])
FrontCon_data2_L = get_L(buff[2])
FrontCon_data2_H = get_H(buff[2])
FrontCon_data3_L = get_L(buff[3])
FrontCon_data3_H = get_H(buff[3])
FrontCon_data4_L = get_L(buff[4])
FrontCon_data4_H = get_H(buff[4])
FrontCon_data5_L = get_L(buff[5])
FrontCon_data5_H = get_H(buff[5])
FrontCon_data6_L = get_L(buff[6])
FrontCon_data6_H = get_H(buff[6])
FrontCon_data7_L = get_L(buff[7])
FrontCon_data7_H = get_H(buff[7])
##-------------解码数据-----------##
Center_data0_L = FrontCon_data0_L
Center_data0_H = FrontCon_data0_H
Center_data1_L = FrontCon_data1_L
Center_data1_H = FrontCon_data1_H
Center_data2_L = FrontCon_data2_L^Center_data0_L
Center_data2_H = FrontCon_data2_H^Center_data0_L
Center_data3_L = FrontCon_data3_L^Center_data0_L
Center_data3_H = FrontCon_data3_H^Center_data0_L
Center_data4_L = FrontCon_data4_L^Center_data0_L
Center_data4_H = FrontCon_data4_H^Center_data0_L
Center_data5_L = FrontCon_data5_L^Center_data0_L
Center_data5_H = FrontCon_data5_H^Center_data0_L
Center_data6_L = FrontCon_data6_L^Center_data0_L
Center_data6_H = FrontCon_data6_H^Center_data0_L
Center_data7_L = FrontCon_data7_L^Center_data0_L
Center_data7_H = FrontCon_data7_H^Center_data0_L
OverCon_data7_L = Center_data0_L
OverCon_data0_L = Center_data0_H
OverCon_data7_H = Center_data1_L
OverCon_data1_L = Center_data1_H
OverCon_data4_L = Center_data2_L
OverCon_data2_L = Center_data2_H
OverCon_data4_H = Center_data3_L
OverCon_data3_L = Center_data3_H
OverCon_data0_H = Center_data4_L
OverCon_data1_H = Center_data4_H
OverCon_data2_H = Center_data5_L
OverCon_data3_H = Center_data5_H
OverCon_data5_L = Center_data6_L
OverCon_data6_L = Center_data6_H
OverCon_data5_H = Center_data7_L
OverCon_data6_H = Center_data7_H
buff[0] = get_all_byte(OverCon_data0_H,OverCon_data0_L)
buff[1] = get_all_byte(OverCon_data1_H,OverCon_data1_L)
buff[2] = get_all_byte(OverCon_data2_H,OverCon_data2_L)
buff[3] = get_all_byte(OverCon_data3_H,OverCon_data3_L)
buff[4] = get_all_byte(OverCon_data4_H,OverCon_data4_L)
buff[5] = get_all_byte(OverCon_data5_H,OverCon_data5_L)
buff[6] = get_all_byte(OverCon_data6_H,OverCon_data6_L)
buff[7] = get_all_byte(OverCon_data7_H,OverCon_data7_L)
FrontCon_data0_L = (OverCon_data0_L+OverCon_data0_H+OverCon_data1_L+OverCon_data1_H+
OverCon_data2_L+OverCon_data2_H+OverCon_data3_L+OverCon_data3_H+OverCon_data4_L+
OverCon_data4_H+OverCon_data5_L+OverCon_data5_H+OverCon_data6_L+OverCon_data6_H)
#print 'Front_0L',hex(FrontCon_data0_L),'Over_7H',hex(OverCon_data7_H)
#注意C语言为公用体,累计会导致溢出,故只取低4bit
if FrontCon_data0_L&0x0F == OverCon_data7_H&0x0F:
def unlock_can_data():
global filename
#filename = r'C:\Users\smart\Desktop\cal_money\raw_can_data.txt'
#filename = 'C:/Users/smart/Desktop/摇床0等待CAN数据/0820_hunlunfh.txt'
dir_idx = filename.rfind('/')#双斜杠表示查找'\',防止转义
dir = filename[:dir_idx+1]
print 'file name:',filename,'dir:',dir
new_file = dir+'unlock_can_data.txt'
new_f = open(new_file,'w')
cur_time ='当前时间:'+time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())+'\n'
new_f.write('源文件'+filename+'\n')
new_f.write(cur_time)
f = open(filename ,'r')
for line in f:
new_line = line
#print line.strip()
tmp = line.strip()
cmd_id = 0
can_data = []
#从后向前查找0x08
if tmp.rfind('0x08') != -1:
#print 'data',tmp[tmp.rfind('0x08')+11:],'index:',tmp[tmp.rfind('0x08')+11]
start_idx = tmp.rfind('0x08')+11
end_idx = len(tmp)
for i in range(8):
can_data.append(eval('0x'+tmp[start_idx:start_idx+3]))
start_idx += 3
#print 'd0 to d7',can_data
#查找命令ID
if tmp.find('0x') != -1:
start_idx = tmp.find('0x')
#判断是否是伺服设备ID('44')
if tmp[start_idx+8:start_idx+10] == '44':
cmd_id = eval(tmp[start_idx:start_idx+10])&&11
#print 'cmd id:',hex(cmd_id)
#处理各种ID的数据
if cmd_id == 0x03:
if data_unlock(can_data) == 1:#数据正确,解密成功
qei = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
spd = can_data[4]
ctl = can_data[5]
if qei & 0x7FFFFFFF:
qei = 0xFFFFFFFF + 1 - qei
new_line = new_line.strip()+'('+'qei:'+'-'+str(qei)+' spd:'+str(spd)+' ctl:'+str(ctl)+')'+'\n'
new_line = new_line.strip()+'('+'qei:'+str(qei)+' spd:'+str(spd)+' ctl:'+str(ctl)+')'+'\n'
print 'unlock failed.'
elif cmd_id == 0x04:
if data_unlock(can_data) == 1:#数据正确,解密成功
set_qei = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
if set_qei & 0x7FFFFFFF:
set_qei = 0xFFFFFFFF + 1 - set_qei
new_line = new_line.strip()+'('+'set_qei:'+'-'+str(set_qei)+')'+'\n'
new_line = new_line.strip()+'('+'set_qei:'+str(set_qei)+')'+'\n'
print 'unlock failed.'
elif cmd_id == 0x08:
qei = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
spd = can_data[4]
ctl = can_data[5]
if qei & 0x7FFFFFFF:
qei = 0xFFFFFFFF + 1 - qei
new_line = new_line.strip()+'('+'qei:'+'-'+str(qei)+' spd:'+str(spd)+' ctl:'+str(ctl)+')'+'\n'
new_line = new_line.strip()+'('+'qei:'+str(qei)+' spd:'+str(spd)+' ctl:'+str(ctl)+')'+'\n'
elif cmd_id == 0x09:
set_qei = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
if set_qei & 0x7FFFFFFF:
set_qei = 0xFFFFFFFF + 1 - set_qei
new_line = new_line.strip()+'('+'set_qei:'+'-'+str(set_qei)+')'+'\n'
new_line = new_line.strip()+'('+'set_qei:'+str(set_qei)+')'+'\n'
elif cmd_id == 0x100:
= get_half_word(can_data[1],can_data[0])#H-&L
spd1 = get_half_word(can_data[3],can_data[2])
= get_half_word(can_data[5],can_data[4])
pls1 = get_half_word(can_data[7],can_data[6])
if (pls & 0x7FFF)and(pls1 & 0x7FFF):
pls = 0xFFFF + 1 - pls
pls1 = 0xFFFF + 1 - pls1
new_line = new_line.strip()+'('+'spd:'+str(spd)+' spd1:'+str(spd1)+' pls:'+'-'+str(pls)+' pls1:'+'-'+str(pls1)+')'+'\n'
elif pls & 0x7FFF:
pls = 0xFFFF + 1 - pls
new_line = new_line.strip()+'('+'spd:'+str(spd)+' spd1:'+str(spd1)+' pls:'+'-'+str(pls)+' pls1:'+str(pls1)+')'+'\n'
elif pls1 & 0x7FFF:
pls1 = 0xFFFF + 1 - pls1
new_line = new_line.strip()+'('+'spd:'+str(spd)+' spd1:'+str(spd1)+' pls:'+str(pls)+' pls1:'+'-'+str(pls1)+')'+'\n'
new_line = new_line.strip()+'('+'spd:'+str(spd)+' spd1:'+str(spd1)+' pls:'+str(pls)+' pls1:'+str(pls1)+')'+'\n'
elif cmd_id == 0x101:
nexspd = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
nexpls = get_one_word(can_data[7],can_data[6],can_data[5],can_data[4])
new_line = new_line.strip()+'('+'nexspd:'+str(nexspd)+' nexpls:'+str(nexpls)+')'+'\n'
elif cmd_id == 0x102:
startpos = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
= get_one_word(can_data[7],can_data[6],can_data[5],can_data[4])
new_line = new_line.strip()+'('+'startpos:'+str(startpos)+' endpos:'+str(endpos)+')'+'\n'
elif cmd_id == 0x103:
limL = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
limR = get_one_word(can_data[7],can_data[6],can_data[5],can_data[4])
if limL & 0x7FFFFFFF:
limL = 0xFFFFFFFF + 1 - limL
new_line = new_line.strip()+'('+'limL:'+'-'+str(limL)+' limR:'+str(limR)+')'+'\n'
new_line = new_line.strip()+'('+'limL:'+str(limL)+' limR:'+str(limR)+')'+'\n'
elif cmd_id == 0x110:
spd = get_one_word(can_data[3],can_data[2],can_data[1],can_data[0])
pls = get_one_word(can_data[7],can_data[6],can_data[5],can_data[4])
if pls & 0x7FFFFFFF:
pls = 0xFFFFFFFF + 1 - pls
new_line = new_line.strip()+'('+'spd:'+str(spd)+' pls:'+'-'+str(pls)+')'+'\n'
new_line = new_line.strip()+'('+'spd:'+str(spd)+' pls:'+str(pls)+')'+'\n'
new_line = new_line.strip()+'\n'
new_f.write(new_line.decode('gbk'))
#print 'unlock finished.\n'
new_f.close()
convert_result()#弹出消息,解密成功
if __name__ == '__main__':
reload(sys)
sys.setdefaultencoding('utf-8')
#创建根窗口
root = Tk()
root.title("CAN数据解密")
root.geometry("400x200+450+210")#起始坐标
frame = Frame(root)
frame.pack()
frm_L = Frame(frame)
var = StringVar()
Label(frm_L,text="").pack()
Entry(frm_L,textvariable=var,bd=1).pack(expand=1)
Label(frm_L,text="").pack()
frm_L.pack()
frm_R = Frame(frame)
Button(frm_R,text="打开文件",command=get_file,height=2,width=8).pack(side=LEFT)
Button(frm_R,text="解密",command=unlock_can_data,height=2,width=10).pack(side=RIGHT)
frm_R.pack()
frm_D = Frame(root)
Button(frm_D,text="退出",command=frm_R.quit,height=2,width=8,bg="#B0D060").pack()
frm_D.pack(side=BOTTOM)
root.mainloop()
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 cad打开文件未响应 的文章

 

随机推荐