滚动条Tkinter复选按钮

问题描述

我想显示带有滚动条的复选按钮。 demo

我希望两个按钮都始终可见(滚动条仅在复选按钮上)

这是我的代码

def selectColumns(self,data):
        new_window = Toplevel(self.master,height=400,width=200)
        select = Button(new_window,text="select all",command=lambda: self.selection_all(list_var))
        select.pack()
        
        canvas = Canvas(new_window,bg='#FFFFFF',width=300,height=300,scrollregion=(0,500,500))
        canvas.pack(side=LEFT)
        
        vbar = Scrollbar(new_window,orient=VERTICAL)
        vbar.config(command=canvas.yview)
        vbar.pack(side=RIGHT)
        
        frame = Frame(new_window,borderwidth=3,relief="sunken",bg="red",width=200)
        canvas.create_window(0,anchor=NW,window=frame)
        
        i = 1
        list_var = []
        for col in data.columns:
            var = BooleanVar()
            # var.set(True)
            list_var.append((var,col))
            check = Checkbutton(frame,text=col,variable=var).pack()
            i += 1
        valid = Button(new_window,text="Valid",command=lambda: self.getValue(list_var,data=data,win=new_window))
        valid.pack()

遇到的问题:

  • 我的检查按钮从画布上伸出
  • 我的有效按钮未对齐 如何处理pack(),以使画布位于左侧,滚动条位于右侧,而我的有效按钮位于底部居中?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...