学习笔记(55):Python实战编程-Scrollbar
生活随笔
收集整理的這篇文章主要介紹了
学习笔记(55):Python实战编程-Scrollbar
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
立即學習:https://edu.csdn.net/course/play/19711/343118?utm_source=blogtoedu
1.滾動條ScrollBar:
當列表內容項的內容過多時,就需要使用到這個滾動條來進行拖動顯示更多的其他選項;一般滾動條是和listbox配對使用的
?
2.注意事項:
1)在組件的創建時:應該按照從大到小來進行;
2)在組件顯示時,應該按照組件從小到大來進行顯示,這樣就不會混亂,顯示得也不會出錯
3)盡量不要進行動態組件的創建,否則任意出錯
?
3.知識點:
1)創建:
self.scrollbar = tkinter.Scrollbar(self.frame)2)對滾動條進行配置:
self.scrollbar.config(command = self.listbox.yview) #將組件滾動條配置給了listbox3)對滾動條進行位置布局
self.scrollbar.pack(side = tkinter.RIGHT,fill =tkinter.Y)4)format格式化保留相應的位數
self.listbox.insert("end","[{s:0>3}] linlianqin".format(s=x))5)滾動條事件的定義
def scrollbar_event(self,event):item = self.listbox.get(self.listbox.curselection())+"\n"#根據當前選中的索引來獲得當前選中項的內容self.listbox.delete(self.listbox.curselection())#刪除當前選中項self.content.set(self.content.get()+item)#獲得當前標簽中含有的文字內容并且加上在listbox中選中的項的內容?
4.完整代碼
import tkinter#導入創建窗體的相關模塊 import osimage_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI編程\resources' + os.sep + 'linlianqin.gif'#因為每個平臺的分隔符不一樣,所以用os.sep可以自動切換到相應平臺的分隔符class Mainwindow():#創建窗口類def __init__(self):self.root = tkinter.Tk()#創建主體窗口self.root.title('linlianqin')#定義窗體的名字self.root.geometry('500x500')#定義窗體的初始大小self.root.maxsize(1200,1200)#設置窗口可以顯示的最大尺寸self.create_scrollbar()self.root.mainloop()#顯示窗口,這個代碼一定要放在所有窗口設置的后面#創建滾動條def create_scrollbar(self):self.frame = tkinter.Frame(self.root,height = 10,width = 200,bg = "#222223")self.label = tkinter.Label(self.root,text="選擇擅長的語言:")self.label.pack(anchor = "w")self.listbox = tkinter.Listbox(self.frame)for x in range(50):self.listbox.insert("end","[{s:0>3}] linlianqin".format(s=x))self.listbox.bind("<Double-Button-1>",self.scrollbar_event)self.scrollbar = tkinter.Scrollbar(self.frame)self.scrollbar.config(command = self.listbox.yview)self.scrollbar.pack(side = tkinter.RIGHT,fill =tkinter.Y)self.listbox.pack()self.frame.pack(anchor="nw")self.content = tkinter.StringVar()self.content.set("這是您選中的語言項:\n")self.show_label = tkinter.Label(self.root,textvariable = self.content,font = ("微軟雅黑",15))self.show_label.pack(anchor = "sw")def scrollbar_event(self,event):item = self.listbox.get(self.listbox.curselection())+"\n"#根據當前選中的索引來獲得當前選中項的內容self.listbox.delete(self.listbox.curselection())#刪除當前選中項self.content.set(self.content.get()+item)#獲得當前標簽中含有的文字內容并且加上在listbox中選中的項的內容if __name__ == '__main__':Mainwindow()#將窗體類實例化?
5.總結:該滾動條未實現滾動到一定的位置就停止在那個地方,會在鼠標左鍵松開的時候滾動塊胡會自動回彈到最初位置
?
6.啟發而寫的代碼
import tkinter#導入創建窗體的相關模塊 import osimage_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI編程\resources' + os.sep + 'linlianqin.gif'#因為每個平臺的分隔符不一樣,所以用os.sep可以自動切換到相應平臺的分隔符class Mainwindow():#創建窗口類def __init__(self):self.root = tkinter.Tk()#創建主體窗口self.root.title('linlianqin')#定義窗體的名字self.root.geometry('500x500')#定義窗體的初始大小self.root.maxsize(1200,1200)#設置窗口可以顯示的最大尺寸self.create_scrollbar()self.showlistbox()self.root.mainloop()#顯示窗口,這個代碼一定要放在所有窗口設置的后面#創建滾動條def create_scrollbar(self):self.frame = tkinter.Frame(self.root,height = 10,width = 200,bg = "#222223")self.label = tkinter.Label(self.root,text="選擇擅長的語言:")self.label.pack(anchor = "w")self.listbox = tkinter.Listbox(self.frame)for x in range(50):self.listbox.insert("end","[{s:0>3}] linlianqin".format(s=x))self.listbox.bind("<Double-Button-1>",self.scrollbar_event)self.scrollbar = tkinter.Scrollbar(self.frame)self.scrollbar.config(command = self.listbox.yview)self.scrollbar.pack(side = tkinter.RIGHT,fill =tkinter.Y)self.listbox.pack()self.frame.pack(anchor="nw")# self.content = tkinter.StringVar()# self.content.set("這是您選中的語言項:\n")# self.show_listbox = tkinter.Listbox(self.root,font = ("微軟雅黑",15))# self.show_listbox.insert("end","這是您選擇的語言:")## self.show_listbox.pack(anchor = "ne")def showlistbox(self):self.show_frame = tkinter.Frame(self.root, height=10, width=300, bg="#222223")self.show_listbox = tkinter.Listbox(self.show_frame, font=("微軟雅黑", 15))self.show_scrollbar = tkinter.Scrollbar(self.show_frame)self.show_scrollbar.config(command=self.show_listbox.yview)self.show_scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)self.show_listbox.insert("end", "這是您選擇的語言:")self.show_listbox.pack()self.show_frame.pack(anchor="ne")def scrollbar_event(self,event):item = self.listbox.get(self.listbox.curselection())+"\n"#根據當前選中的索引來獲得當前選中項的內容self.listbox.delete(self.listbox.curselection())#刪除當前選中項self.show_listbox.insert("end",item)#獲得當前標簽中含有的文字內容并且加上在listbox中選中的項的內容if __name__ == '__main__':Mainwindow()#將窗體類實例化?
總結
以上是生活随笔為你收集整理的学习笔记(55):Python实战编程-Scrollbar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1、MyBatis下载地址以及简介
- 下一篇: 学习笔记(56):Python实战编程-