python学习记录七——scale和scrollbar用法

红色笔画的地方就是scale组件,蓝色笔画的地方就是scrollbar组件


#coding:utf-8 
import tkinter #引入界面设计库
import sys #引入系统交互操作
import os #方便路径访问
import re  #引入正则化

class MainForm:
    def __init__(self):
        self. root = tkinter.Tk()  #新建一个窗体
        self.root.title ( "你们的关系是:") #标题
        self.root.geometry("400x500")  #初始窗口大小,为小写x
        self.root.maxsize (1000,1000) #最大化后窗口大小
        #self.root.iconbitmap(LOGO_PATH) #图标,bmp格式可直接修改后缀
        self.root["background"] = "green" #界面颜色设置,其他颜色可以百度 
 
        self.label = tkinter.Label(self.root, text = "文字大小", fg ="black", font = ("微软雅黑",10))
        self.label.pack(anchor ="n")
        #scale组件
        self.scale = tkinter.Scale (self.root, label = "拖动调整文字大小", 
        from_ = 1, to = 50, length = 400,   #设置标志大小和长度
        orient = tkinter.HORIZONTAL, showvalue = True,  #设置水平放置
        tickinterval = 10, resolution = True)  #设置间隔
        self.scale.bind("<B1-Motion>", self.change_value_handle)

        self.scale.pack(anchor = "center")

        self.creat_widget()
        self.root.mainloop()
        
    #改变字体大小
    def change_value_handle(self, event):
        self.label.config(font= ("微软雅黑", self.scale.get()))
        self.listbox.config(font= ("微软雅黑", self.scale.get()))
        self.show_label.config(font= ("微软雅黑", self.scale.get()))
    
    #创建一个widget
    def creat_widget(self):
        #加一个标签
        self.widget_label = tkinter.Label(self.root, text = "你想浏览的网站", fg = "black", font = ("微软雅黑", 10))
        self.widget_label.pack (anchor = "s")

        #scollbar是一个组件,包含两个部分:一个是listbox,一个是scollbar
        self.frame = tkinter.Frame(self.root)
        self.listbox = tkinter.Listbox(self.frame, width = 50, height = 10)
        #设置list内容
        for item in range(200):
            self.listbox.insert ("end", "[{info:0>3}]www.baidu.com".format(info = item))
        #绑定事件
        self.listbox.bind("<Double-Button-1>", self.change_item_handle)
        #设置滚动条
        self.scollbar =tkinter.Scrollbar(self.frame)
        self.scollbar.config(command = self.listbox.yview)
        #设置显示标签
        self.content = tkinter.StringVar()
        self.show_label = tkinter.Label (self.root, textvariable = self.content, fg = "black", font = ("微软雅黑", 10))
       
        self.scollbar.pack(side = "right", fill = "y")
        self.listbox.pack( side = "left")
        self.frame.pack()
        self.show_label.pack()

    def change_item_handle(self, event):
        item = self.listbox.get(self.listbox.curselection()) +"\n"
        self.content.set(self.content.get()+item)#这样可以执行多选操作,item只是当前的选项,self.content是之前的选项

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的scrollbar是一个滚动条控件,用于在窗口中显示大量文本或图像时,允许用户滚动内容以查看不同部分。scrollbar通常与其他控件(如text、canvas或listbox)一起使用。 要使用scrollbar,需要创建一个Scrollbar对象,并将其绑定到其他控件。例如,要将scrollbar绑定到text控件,可以使用以下代码: ``` from tkinter import * root = Tk() text = Text(root) text.pack(side=LEFT, fill=Y) scrollbar = Scrollbar(root, command=text.yview) scrollbar.pack(side=LEFT, fill=Y) text.config(yscrollcommand=scrollbar.set) root.mainloop() ``` 在这个例子中,我们创建了一个text控件和一个scrollbar控件,并将它们都放置在窗口的左侧。我们还将scrollbar的命令设置为text的yview方法,这将使scrollbar控制text控件的垂直滚动。最后,我们将text的yscrollcommand设置为scrollbar的set方法,这将使text控件响应scrollbar的滚动事件。 除了text控件,scrollbar还可以与其他控件一起使用,例如canvas和listbox。要使用scrollbar控制canvas的滚动,可以使用以下代码: ``` from tkinter import * root = Tk() canvas = Canvas(root) canvas.pack(side=LEFT, fill=BOTH, expand=YES) scrollbar = Scrollbar(root, command=canvas.yview) scrollbar.pack(side=LEFT, fill=Y) canvas.config(yscrollcommand=scrollbar.set) root.mainloop() ``` 在这个例子中,我们创建了一个canvas控件和一个scrollbar控件,并将它们都放置在窗口的左侧。我们将scrollbar的命令设置为canvas的yview方法,这将使scrollbar控制canvas控件的垂直滚动。最后,我们将canvas的yscrollcommand设置为scrollbar的set方法,这将使canvas控件响应scrollbar的滚动事件。 总之,scrollbar是一个非常有用的控件,可以帮助用户轻松地查看大量文本或图像。要使用scrollbar,只需创建一个Scrollbar对象,并将其绑定到其他控件即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值