Python_給tkinter的frame加捲軸__Python

來源:互聯網
上載者:User

問題背景:當介面需要顯示的內容較多時,需要用到捲軸Scrollbar,官方文檔說Scrollbar只能與以下控制項(canvas, entry, listbox, text)相結合。但是,如果我想讓Scrollbar和frame相結合呢。

解決辦法是:把frame放在canvas裡面(比如填滿整個canvas),canvas與scrollbar結合,這樣滾動canvas就等於滾動frame了。

舉個栗子

canvas=Canvas(root,width=200,height=180,scrollregion=(0,0,520,520)) #建立canvascanvas.place(x = 75, y = 265) #放置canvas的位置frame=Frame(canvas) #把frame放在canvas裡frame.place(width=180, height=180) #frame的長寬,和canvas差不多的vbar=Scrollbar(canvas,orient=VERTICAL) #豎直捲軸vbar.place(x = 180,width=20,height=180)vbar.configure(command=canvas.yview)hbar=Scrollbar(canvas,orient=HORIZONTAL)#水平捲軸hbar.place(x =0,y=165,width=180,height=20)hbar.configure(command=canvas.xview)canvas.config(xscrollcommand=hbar.set,yscrollcommand=vbar.set) #設定  canvas.create_window((90,240), window=frame)  #create_window

當然,如果是純文字的滾動,可以選擇scrolltext組件,它的函數和text一樣,可以參考一下這個連結 https://www.jianshu.com/p/abea88607525

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.