Python怎么生成帶有滾動(dòng)功能控件的scrollable函數(shù)

本篇內(nèi)容主要講解“Python怎么生成帶有滾動(dòng)功能控件的scrollable函數(shù)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python怎么生成帶有滾動(dòng)功能控件的scrollable函數(shù)”吧!

十多年的曲陽(yáng)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整曲陽(yáng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“曲陽(yáng)網(wǎng)站設(shè)計(jì)”,“曲陽(yáng)網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

當(dāng)程序達(dá)到一定規(guī)模后,經(jīng)常會(huì)希望構(gòu)建帶滾動(dòng)功能的控件。例如下圖中的FileBrowser,無(wú)論是左側(cè)的TreeView還是右側(cè)的ListView都帶有水平和垂直兩個(gè)Scrollbar控件。

Python怎么生成帶有滾動(dòng)功能控件的scrollable函數(shù)

Tkinter中生成帶有Scrollbar的控件的代碼大致如下:

#生成Frame容器以容納TreeView,Scrollbartree_area = Frame(paned_window)# 設(shè)定水平伸展tree_area.grid_rowconfigure(0, weight=1)# 設(shè)定垂直伸展tree_area.grid_columnconfigure(0, weight=1)# 生成TreeViewtree_view = Treeview(tree_area, show='tree', selectmode='browse')# 設(shè)定TreeView布局位置tree_view.grid(row=0, column=0, sticky='nsew')# 生成垂直滾動(dòng)條scroll_ty = Scrollbar(tree_area, orient=VERTICAL, command=tree_view.yview)# 設(shè)定滾動(dòng)條布局位置scroll_ty.grid(row=0, column=1, sticky=N+S)# 關(guān)聯(lián)滾動(dòng)動(dòng)作tree_view['yscrollcommand']=scroll_ty.set# 生成水平滾動(dòng)條scroll_tx = Scrollbar(tree_area, orient=HORIZONTAL, command=tree_view.xview)# 設(shè)定滾動(dòng)條布局位置scroll_tx.grid(row=1, column=0, sticky=E+W)# 關(guān)聯(lián)滾動(dòng)動(dòng)作tree_view['xscrollcommand']=scroll_tx.set

邏輯雖然清晰,但是同樣的事情多次重復(fù)總是比較麻煩,為此作者設(shè)計(jì)了如下的scrollable函數(shù),用以簡(jiǎn)化此過(guò)程:

def scrollable(master, w_type, **kwargs):    # 獲取SizeGrip設(shè)定內(nèi)容    size_grip = kwargs.get('size_grip')    # 從關(guān)鍵詞參數(shù)中去掉'size_grip'設(shè)定    if size_grip:        kwargs.pop('size_grip')    # 構(gòu)建Frame控件    frame = Frame(master)    # 設(shè)定控件水平伸展    frame.grid_rowconfigure(0, weight=1)    # 設(shè)定控件垂直伸展    frame.grid_columnconfigure(0, weight=1)    # 構(gòu)建控件    widget = w_type(frame, **kwargs)    # 設(shè)定控件布局    widget.grid(row=0, column=0, sticky='nsew')    # 構(gòu)建垂直Scrollbar    scroll_y = Scrollbar(frame, orient=VERTICAL, command=widget.yview)    # 設(shè)定控件布局    scroll_y.grid(row=0, column=1, sticky=N + S)    # 綁定滾動(dòng)動(dòng)作    widget['yscrollcommand'] = scroll_y.set    # 構(gòu)建水平Scrollbar    scroll_x = Scrollbar(frame, orient=HORIZONTAL, command=widget.xview)    # 設(shè)定控件布局    scroll_x.grid(row=1, column=0, sticky=E + W)    # 綁定滾動(dòng)動(dòng)作    widget['xscrollcommand'] = scroll_x.set    # 生成Sizegrip控件    if size_grip:        Sizegrip(frame).grid(row=1, column=1)    return frame,widget

雖然內(nèi)容基本相同,只是進(jìn)行了簡(jiǎn)單的封裝,但產(chǎn)生的效果卻很明顯:構(gòu)建同樣的具有滾動(dòng)功能的Treeview的代碼從20多行變成了1行!

tree_area, tree_view = scrollable(paned_window, Treeview, show='tree', selectmode='browse')

還有一個(gè)好處是scrollable的使用根本無(wú)需了解Scrollbar的用法。

到此,相信大家對(duì)“Python怎么生成帶有滾動(dòng)功能控件的scrollable函數(shù)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站名稱:Python怎么生成帶有滾動(dòng)功能控件的scrollable函數(shù)
文章起源:http://muchs.cn/article20/ihijco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作軟件開(kāi)發(fā)、用戶體驗(yàn)網(wǎng)站營(yíng)銷、網(wǎng)站導(dǎo)航、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司