Nobody is me 2022-01-01 11:00 采纳率: 100%
浏览 354
已结题

想要在python-tkinter可视化窗口中加入滚动条

在文章之前,我先说明我是一个初学者,且对tkinter的知识都是自学,所以希望各位给予我一些建议,谢谢各位了
我现在在做一个可视化弹窗,内容是点击按钮之后会出现几张照片,但因为照片过大无法完全显示,而且后期也会加入其他的内容,所以需要加入滚动条来使其能翻页(不要说把弹窗拉大了,以后还想加很多东西,结果在滚动条这里卡好几天了,呜~)
我的代码如下:


from tkinter import *     # 弹窗的库
from PIL import Image,ImageTk
 #设置主页面函数

root = Tk(className='主页')         #设计弹窗函数名和标题
root.geometry('800x500')            # 设置弹窗大小
def Main():
    menu = Menu()                       # 设置头顶框
    menu.add_command(label="open")
    menu.add_command(label="add")
    menu.add_command(label="delete")
    root.config(menu=menu)


    butn1 = Button(root,text='龙庭大酒店',width=100,command=Long)    # command为链接,打开相应函数
    butn1.pack()
    

  #设计龙庭大酒店的窗口
def Long():
    pi1_open = Image.open('期末作业\龙庭大酒店1.jpg')
    global pi1_gif
    pi1_gif = ImageTk.PhotoImage(pi1_open)
    label_pi1 = Label(image=pi1_gif)
    label_pi1.pack()

    pi2_open = Image.open('期末作业\龙庭大酒店2.jpg')
    global pi2_gif
    pi2_gif = ImageTk.PhotoImage(pi2_open)
    label_pi2 = Label(image=pi2_gif)
    label_pi2.pack()

    pi3_open = Image.open('期末作业\龙庭大酒店3.jpg')
    global pi3_gif
    pi3_gif = ImageTk.PhotoImage(pi3_open)
    label_pi3 = Label(image=pi3_gif)
    label_pi3.pack()


Main()
mainloop()

其中关于第二个函数“Long”就是添加照片的函数,直接将代码传上来运行就没有照片
之前也搜过一些资料,说Scrollbar只能与canvas、entry、listbox、text相结合,所以我是否要重写代码?还是要加一个函数或类?
(完全自学,希望各位给予建议)

  • 写回答

2条回答 默认 最新

  • Smart-Space 2022-01-08 07:24
    关注

    将画布作为窗口的整体(顶层组件)组件是一个不错的选择。你可以将滚动条绑定到画布,甚至可以实时更新滚动条的可视范围。

    无论是绑定滚动条还是自动更新可视范围,都可以参考:https://blog.csdn.net/tinga_kilin/article/details/114737655

    然后就可以直接在画布中任意位置载入图片了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日
  • 创建了问题 1月1日

悬赏问题

  • ¥15 商城生产日期批次库存问题
  • ¥15 esp8266控制共阳极wrgb灯板无法关闭所有led灯
  • ¥100 python读取速度问题
  • ¥15 stm32f407使用DMA问题
  • ¥15 您好 这个API接口该怎么弄 网站搭建好了 API也有 现在就不知道该怎么填写API 不知道怎么用
  • ¥88 用uniapp写一个多端的程序,用到高德地图,用高德的JSAPI吗?
  • ¥20 关于#c++#的问题:水果店管理系统
  • ¥30 dbLinq最新版linq sqlite
  • ¥20 对D盘进行分盘之前没有将visual studio2022卸载掉,现在该如何下载回来
  • ¥15 完成虚拟机环境配置,还有安装kettle