<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
需要注意,對範例化的文字元件的insert、delete等操作的index**都是浮點型而不是整型**,(1.0,2.0)表示的是對第一行操作,關閉視窗需要知道作用的物件是最根本的視窗,不是某個Frame。
Text的幾個主要設定引數:
text元件的一個主要操作:
txt_entry=Text(wintool,state,width,height).pack() txt_entry.get(start_index,end_index)#讀取text中的字元內容,start_index,end_index都是浮點數,整數部分表示一行 txt_entry.delete(start_index,end_index) # 刪除文字 txt_entry.insert(start_index,'文字內容')# 對text插入文字內容,若是結尾索引可以使用END
import tkinter.filedialog as fd:用於讀取檔案或路徑的庫 fd.askdirectory:返回點選的路徑 fd.askopenfilenames():返回多個選中檔案的名字 txt_entry=Text(wintool,width,height,).pack():元件範例化和放置 txt_entry(元件範例化後的變數)
from tkinter import * import tkinter.filedialog as fd all_path = [] # 記錄全域性路徑 def openFloder(): folder_path = fd.askdirectory(initialdir=r"D:graduate小程式車牌的總數量及省份統計") # 開啟檔案 show_folderPath.delete(0.0,END) # 清空 show_folderPath.insert(0.0,folder_path) #寫入路徑 print(folder_path) all_path.append(folder_path) txt.delete(0.0,'end') txt.insert(0.0,all_path) #插入的第一個字元是索引馬,不能是整數形式 print('all_path:',all_path) root = Tk() # 生成主視窗物件 root.title('Demo') # 視窗標題 root.geometry('400x400') # 視窗大小 fr= Frame(root,width=200,height=200,) fr.pack(side='top',expand='yes') txt = Text(fr,bd=5) txt.pack(side='bottom') txt_txt = txt.get(0.0) print('txt_txt:',txt_txt) fr1= Frame(fr,width=100,height=30,bg='gray') fr1.pack(side='left',expand='yes') fr2= Frame(fr,width=100,height=30,bg='white') fr2.pack(side='left',expand='yes') show_folderPath = Entry(fr2) show_folderPath .pack(side='left') btn = Button(fr1,bg='orange',text ="選擇檔案",command = openFloder) # 在root視窗物件上設定一個按鈕,用於開啟檔案和返回選擇的檔名 btn.pack() root.mainloop()
更多相關檔案路徑可以參考
# from tkinter import * import tkinter as tk import tkinter.filedialog as fd from tkinter import filedialog def select_file(): # 單個檔案選擇 selected_file_path = filedialog.askopenfilename() # 使用askopenfilename函數選擇單個檔案 select_path.set(selected_file_path) def select_files(): # 多個檔案選擇 selected_files_path = filedialog.askopenfilenames() # askopenfilenames函數選擇多個檔案 select_path.set('n'.join(selected_files_path)) # 多個檔案的路徑用換行符隔開,更新tkinter的字元變數 def select_folder(): # 資料夾選擇 selected_folder = filedialog.askdirectory() # 使用askdirectory函數選擇資料夾 select_path.set(selected_folder) root = tk.Tk() root.title("選擇檔案或資料夾,得到路徑") # 初始化Entry控制元件的textvariable屬性值,能夠實時讀取控制元件的變化 select_path = tk.StringVar() # 佈局控制元件 tk.Label(root, text="檔案路徑:").grid(column=0, row=0, rowspan=3) tk.Entry(root, textvariable = select_path).grid(column=1, row=0, rowspan=7) tk.Button(root, text="選擇單個檔案", command=select_file).grid(row=0, column=2) tk.Button(root, text="選擇多個檔案", command=select_files).grid(row=1, column=2) tk.Button(root, text="選擇資料夾", command=select_folder).grid(row=2, column=2) root.mainloop()
from tkinter import * import tkinter as tk import tkinter.filedialog as fd all_paths=[] def real_close(): #定義關閉視窗命令,在button中使用,若使用定義的函數,必須把定義放在使用語句的前邊 root.quit() def choose_folder(): # 每次選擇一個檔案路徑 folder_dirs["state"] = 'normal' # 將文字方塊元件修改為可修改 # folder_dirs.delete(0.0,END) # 清空,第一個引數必須是浮點型的不能是整型 select_folder = fd.askdirectory() # 每次點選檔案 select_paths.set(select_folder) #為了顯示 all_paths.append(select_folder) # 為了記錄點選過的所有檔案路徑 print(all_paths) # text元件對記錄的路徑顯示,且連續從後邊插入,為了顯示 folder_dirs.insert('end',select_paths.get()+'n') folder_dirs["state"] = 'disable' # 將文字方塊修改為不可修改 def delete_folder(): # 每次選擇一個檔案路徑 folder_dirs["state"] = 'normal' # 將文字方塊元件修改為可修改 folder_txt = folder_dirs.get(1.0,'end').split('n') txt_len = len(folder_txt) txt_start = '%s.0'%(txt_len-2) # text元件中的索引表示的含義:1.1表示第一行第一個字元, txt_end = '%s.0'%(txt_len-1) # folder_dirs.delete(1.0,2.0)表示刪除第一行內容 folder_dirs.delete(txt_start,txt_end) all_paths.pop() print(all_paths) folder_dirs["state"] = 'disable' # 將文字方塊修改為不可修改 root=Tk() root.title('資料夾的選擇和路徑顯示') root.geometry('800x400') # 表單大小 # 記錄點取的路徑,使用內容時需要使用get()方法,每次記錄一個路徑 select_paths = tk.StringVar() Label(root,text="folders:",font=("Arial", 16),bg='yellow').pack(side='left',padx=5,pady=5) folder_dirs=Text(root,state='disable',bd=5,width=50,height=25,) # 定義路徑文字方塊 folder_dirs.pack(side='left',padx=5,pady=5) # 放置文字元件 Button(root, text = "choose folder", command=choose_folder,font=("Arial", 12),bg='green').pack(side='left',padx=5,pady=5) Button(root, text = "delete folder", command=delete_folder,font=("Arial", 12),bg='red').pack(side='left',padx=5,pady=5) but=Button(root, text = "EXIT", command=real_close,font=("Arial", 12),bg='red') but.pack(side='bottom',expand=0) root.mainloop()
到此這篇關於python tkinter庫的Text記錄點選路經和刪除記錄詳情的文章就介紹到這了,更多相關python tkinter庫 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45