首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AttributeError:'PhotoImage‘对象没有属性'_PhotoImage__photo’。无法在tkinter屏幕上加载和显示视频

AttributeError: 'PhotoImage'对象没有属性'_PhotoImage__photo'是一个错误提示,它表示在tkinter屏幕上加载和显示视频时出现了问题。

这个错误通常发生在使用tkinter库的PhotoImage类加载视频时,由于PhotoImage类本身并不支持直接加载和显示视频,所以会导致该错误。

要在tkinter屏幕上加载和显示视频,可以使用其他库,如OpenCV或moviepy。这些库提供了更强大的视频处理功能。

以下是一种使用OpenCV库加载和显示视频的示例代码:

代码语言:txt
复制
import cv2
import tkinter as tk
from PIL import Image, ImageTk

# 创建一个窗口
window = tk.Tk()

# 打开视频文件
video = cv2.VideoCapture('video.mp4')

# 定义一个函数,用于更新视频帧
def update_frame():
    ret, frame = video.read()  # 读取视频帧
    if ret:
        # 将OpenCV图像转换为PIL图像
        image = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
        # 将PIL图像转换为tkinter图像
        photo = ImageTk.PhotoImage(image)
        # 在窗口上显示图像
        label.config(image=photo)
        label.image = photo
        # 循环调用更新函数
        window.after(10, update_frame)

# 创建一个标签,用于显示视频帧
label = tk.Label(window)
label.pack()

# 调用更新函数
update_frame()

# 运行窗口主循环
window.mainloop()

在上述代码中,我们使用OpenCV库打开视频文件,并通过循环读取视频帧。然后,我们将每一帧转换为PIL图像,再将其转换为tkinter图像,并在窗口上显示。通过循环调用更新函数,可以实现视频的连续播放。

请注意,上述代码仅提供了一个基本的视频加载和显示示例,实际应用中可能需要根据具体需求进行进一步的处理和优化。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python图形界面GUI程序设计

图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。...图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,图形用户界面,用户看到操作的都是图形对象,应用的是计算机图形学的技术...fm1w1图片,控件显示方式为最左边 w2 =PhotoImage(file ="234.gif") #创建一个图片对象,图片只能是gif Label(fm1,image=w2).pack(side=...以下为TK的方法属性附录 1、Tkinter组件 Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。...Canvas 画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于程序中提供多项选择框 Entry 输入控件;用于显示简单的文本内容 Frame 框架控件;屏幕显示一个矩形区域

4.8K20

树莓派综合项目2:智能小车(二)tkinter图形界面控制

模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk Tkinter 可以大多数的 Unix 平台下使用,同样可以应用在 Windows Macintosh 系统里...Qt 本身是一个扩展的 C++ GUI 应用开发框架,Qt 可以 UNIX、Windows Mac OS X 完美运行,因此 PyQt 是建立 Qt 基础的 Python 包装。...pack布局没有任何属性参数,默认会自上而下垂直并且水平居中排列。...[ewxc43uuj6.jpeg] 图形界面 中和下中按钮为前进后退,中左中右为原地左转原地右转,四个角的按钮为向左、向右、向左后、向右后偏向行进,正中间的黑色暂停按钮为刹车方向复位键。...root.wm_title('4w_motor Control') # 设置窗口标题 curWidth = 1050 #窗口宽度 curHight = 450 #窗口度 # 获取屏幕宽度高度 scn_w

2.6K30

Python: 屏幕取色器(识别屏幕不同位置的颜色)

代码逻辑: (1)文末参考资料[2]的csv文件(记为颜色表)中给出了865种颜色的英文名称对应的RGB数值,在此基础,笔者添加了相应的中文名称,如下表所示。...(2)通过鼠标屏幕取点,获取指定位置的RGB数值,然后与颜色表中各行的RGB数值进行匹配,返回RGB数值最接近的颜色信息。...import tkinter.messagebox def get_color_name(r, g, b, csv_df): # 基于给定的R,G,B颜色表,匹配与所取点RGB数值最接近的颜色...im = ImageGrab.grab() im.save(filename) im.close() # 显示屏幕截图 w = MyCapture(filename...PhotoImage(https://www.pythontutorial.net/tkinter/tkinter-photoimage/) [8] Canvas image objects(https

4.5K30

python 图形界面显示图片

Win10命令行窗口输入python、import tkinter、dir(tkinter)、help(tkinter),可获得tkinter的相关帮助信息。...实现打开并显示图片的源代码如下: import tkinter as tk import tkinter.filedialog from PIL import Image,ImageTk #选择并显示图片...img = ImageTk.PhotoImage(img_open) lableShowImage.config(image=img) lableShowImage.image = img...命令行执行命令 python d:\temp\MyShowImage.py 程序运行,界面如下图所示  点击“选择图片”按钮,弹出打开文件对话框  选择要打开的图片文件,点击“打开”按钮,图片就会显示图形界面上了...,如下图所示:  上述代码实现了图片的选择显示功能,但也有不足之处,比如“没有滚动条,无法完全显示屏幕大的图片”。

25320

python tkinter 设计指南

、Canvas等控件配合使用 Text 多行文本框 接收或输出多行文本内容 Toplevel 子窗口 创建一个独立于主窗口之外的子窗口,位于主窗口的一层,可作为其他控件的容器 控件的基本属性 属性名称...参数,则该参数会被忽略 compound 控制 Lable 中文本图像的混合模式,若选项设置为 CENTER,则文本显示图像,如果将选项设置为 BOTTOM、LEFT、RIGHT、TOP,则图像显示文本旁边...image_cget(index, option) 返回 index 参数指定的嵌入 image 对象的 option 选项的值,如果给定的位置没有嵌入 image 对象,则抛出 TclError 异常...image_create() index 参数指定的位置嵌入一个 image 对象,该 image 对象必须是 TkinterPhotoImage 或 BitmapImage 实例。...常用属性 属性 说明 widget 发生事件的是哪一个控件 x,y 相对于窗口的左上角而言,当前鼠标的坐标位置 x_root,y_root 相对于屏幕的左上角而言,当前鼠标的坐标位置 char 用来显示所按键相对应的字符

6.6K30

Tkinter教程(每天半小时,3天彻底掌握Tkinter)day2

常用控件属性 控件类型 控件基本属性 Tkinter Label标签控件 Python tkinterPhotoImage图片显示问题  python表单 python Entry输入框 python...sticky 该属性用来设置控件位于单元格那个方位,参数值 anchor 相同,若不设置该参数则控件单元格内居中 grid() 方法相比 pack() 方法来说要更加灵活,以网格的方式对组件进行布局管理...参数,则该参数会被忽略 compound 控制 Lable 中文本图像的混合模式,若选项设置为 CENTER,则文本显示图像,如果将选项设置为 BOTTOM、LEFT、RIGHT、TOP,则图像显示文本旁边...(row=6, column=0, columnspan=3) Python tkinterPhotoImage图片显示问题  PhotoImage不支持jpg等图片格式; 将PhotoImage...界面编程的过程中,有时我们需要“动态跟踪”一些变量值的变化,从而保证值的变换及时的反映到显示界面上,但是 Python 内置的数据类型是无法这一目的的,因此使用了 Tcl 内置的对象,我们把这些方法创建的数据类型称为

3.9K20

tkinter学习系列(四)之Butto

目录 目录 前言 (一)基本用法可选属性 ==1.基本用法== ==2.可选属性== (二)属性的具体实现案例 ==1.常用属性== ==案例一== ==2.按钮里的图片== ==案例二== =...Tkinter的按钮被按下时,会自动调用该函数或方法 (一)基本用法可选属性 ==1.基本用法== 基本用法:Button(根对象, [属性列表]) 根对象:在那个窗体显示,例如主窗体。...==2.可选属性== 属性 说明 text 标签显示的文本 font 设置文本的字体大小 fg(foreground) 字体的颜色, bg (background) 标签的背景色 width 标签的宽度...==2.按钮里的图片== (1)只放图片,没有文字 需要先导入图片的路径:img1 = tk.PhotoImage(file="image/01.png") 再使用:image=img1 注:目前支持...,鼠标的形状会显示不同的样式。

1.1K30

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-隐形的弹窗

前言 在前面已经学习了很多,制作弹窗的方式,但是没有一个透明的弹窗。这次我们来做一个透明的弹窗好了。如图,先来感受一下。 还记得以前电脑莫名其妙安装的游戏吗?窗口并不是方形的。...以及双十一左右时,你的电脑会莫名其妙的多一个红包窗口显示桌面上,那这些是如何实现的呢,我们一起来看一下吧。 隐形弹框 我们需要先来制作一个隐形弹框,一起来参考一下吧。...不规则弹框 在上面估计有人觉得我忽悠人,那我们弹框里面加点东西好了。...(image3) # 引入图片 w = tk.winfo_screenwidth() # 获取屏幕宽 h = tk.winfo_screenheight() # 获取屏幕高 cn = Canvas...(image3) # 引入图片 w = tk.winfo_screenwidth() # 获取屏幕宽 h = tk.winfo_screenheight() # 获取屏幕高 cn = Canvas

80930

Python GUI编程:Tkinter

label标签") # 将标签布局到窗体 Label01.pack() # 添加一个按钮,可以创建按钮的同时句尾调用pack语句进行布局 Button01 = Button(root,text...set()方法;控件基本属性的设定控件的布局语句要分开; 2....ttk的用法同tkinter大体相同,但是有一些属性ttk不再支持,而tkinter中的fg、bg、font属性ttk中不再被支持,取而代之的是style对象; 2....Style属性 增强的ttk包里没法用tkinter的传统属性进行设置比如bgfg,我们需要通过style对象来对其设置; 注意:我们对实例化对象style01进行配置, style01.configure...疑问: 如果此时创建一个Label02对象它的style属性没有绑定style01对象,但是它的属性依然是style01对象里定义的特征,这是怎么回事呢?

7K62

Python使用tkinter模块实现推箱子游戏

install pygame 三、原理分析 1、地图 地图思想方面没有太大改变,还是以前一样使用二维数组表示。...BoxGame主要流程如下: 导入模块 创建窗口并设置属性 播放背景音乐 创建画板 画板绘制地图 将画板铺到窗口上 让窗口关联监听事件 游戏循环了 2、initGame #游戏需要的一些参数 mission...对象PhotoImage对象tkinter中的对象),PhotoImage对象的创建如下 #通过文件路径创建PhotoImage对象 img = PhotoImage(file="img/img1...上面还有一个重要的点,我最开始定义了img列表,用于装图片对象。开始我尝试用单个图片对象,但是绘制图片的时候只会显示一个,后面想到用img列表代替,然后成功了。...绘制图片时有以下两个步骤:、 #根据数组元素,创建相应的图片对象,添加到列表末尾 img.append(PhotoImage(file="imgs/wall.png")) #传入图片对象参数时,使用

2.4K50

Python的GUI编程(一)Label

参考:http://www.runoob.com/python/python-gui-tkinter.html 标准属性(变量): 标准属性也就是所有控件的共同属性,如大小,字体颜色等等。...= TKinter.PhotoImage(file = "gif 、ppm/pgm图片路径")  图片和文本取舍:compound参数可以控制要显示的文本图像。...可选值:None 默认值,表示只显示图像,不显示文本;bottom/top/left/right,表示图片显示文本的下//左/右;center,表示文本显示图片中心上方。 ...    显示Label的图像 text:     显示Label的文本 from Tkinter import * #创建界面窗口 Win=Tk() #只能显示GIF格式的图片 img=...PhotoImage(file="D:/temp/1.gif") #Label是个类,对其初始化 # #pack属性将空间加载到窗口上 #文本内容显示窗口 lab1=Label(Win,text="Hello

2.1K20

软件测试|超好用超简单的Python GUI库——tkinter(四)

当然按钮也并非一定要执行回调函数(callback function),它也只可以当一个“摆设”,不过这样的按钮是没有“灵魂的”,Button 控件的使用流程如下所示:import tkinter as...控件的常营属性如下所示:属性说明anchor控制文本所在的位置,默认为中心位置(CENTER)activebackground当鼠标放在按钮时候,按妞的背景颜色activeforeground当鼠标放在按钮时候...当按钮被点击时,执行该函数fg按钮的前景色font按钮文本的字体样样式height按钮的高度highlightcolor按钮控件高亮处要显示的颜色image按钮显示的图片justify按钮显示多行文本时...im = tk.PhotoImage(file='image1.png')# 通过image参数传递图片对象button = tk.Button(window,image=im,command=click_button...).pack()# 启动窗口window.mainloop()图片按钮的布局按钮主窗口中的布局,通常使用 grid() 函数来完成,该函数以网格状的形式(即行列)来管理窗口的布局。

1.3K30

python笔记:可视化界面写作尝试

变量 tkinter中的所有变量事实都是tk.Variable类的一个子类,C语言中的参数定义没啥区别,就是实现申明一个变量,然后进行赋值获取。...上面,事实我们已经使用过了,tkinter中的显示窗口定义方式就是实例化一个Label类。...Optionmenu组件 Optionmenu组件Listbox组件功能上事实差不多,但是前者是平铺式的将所有可选项全部显示出来,而Optionmenu则是通过一个折叠窗口将选项进行了隐藏。...图片类组件 tkinter库同样支持图片的显示matplotlib等库绘制图片的方法大同小异,tkinter进行图片显示的方法同样是先定义一个画布,而后向画布当中填充元素。 1....参数即为点击该菜单项时会执行的行为函数; menu的添加方式其他组件的添加方式略有不同,需要通过config命令作为window的一个属性进行传入。

4.5K30

​Python | GUI编程之tkinter (一)

认识控件 在上边的代码中我们使用了Label控件,Label控件是Tk最常用的组件之一,可以用来显示文本图片等。tkinter中,一共提供了15个控件,下面我们来认识一下它们。...Canvas 画布控件;在窗口中画图,如线条等元素 Checkbutton 多选框控件;用于程序中提供多项选择框 Entry 输入控件;用于显示简单的文本内容 Frame 框架控件;屏幕定义一个区域...,用来作为容纳其他控件的容器 Label 标签控件;可以显示文本位图 Listbox 列表框控件;Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,由于显示菜单项...Text 文本控件;用于显示多行文本 Toplevel 容器控件;用来提供一个单独的对话框,Frame比较类似 除此之外,你可能还需要了解一下上述控件都具有的共同属性,如下表: 标准属性也就是所有控件的共同属性...框架控件:Frame Frame控件是屏幕的一个矩形区域。其主要作用是作为其他组件的框架基础,或为其他组件提供间距填充。

5.9K31

Python的GUI编程(二)Butto

Label 控件类似, 按钮可以展示图片或者文字. 不同的是, Label 控件可以指定字体, Button 控件只能使用单一的字体. Button 的文字可以多行显示. ...所回调的可以是一个函数、方法或别的可调用的Python对象。 cursor 类型:光标; 说明:当鼠标移动到按钮时所显示的光标。...image 类型:图象; 说明:部件中显示的图象。如果指定,则textbitmap选项将被忽略。 justify 类型:常量; 说明:定义多行文本如何对齐。...如果这个变量的值改变,那么按钮的文本相应更新。 underline 类型:整数; 说明:文本标签中哪个字符加下划线。默认值为-1,意思是没有字符加下划线。...它以屏幕的单位为单位。默认不调整。 点击Button,利用回调函数显示文本内容。

1.7K10

软件测试|超好用超简单的GUI库——tkinter(三)

label常用属性 Label(标签)的常用属性如下表: 属性名称 说明 anchor 控制文本(或图像) Label 中显示的位置(方位),通过方位的英文字符串缩写(n、ne、e、se、s、sw、w...Label 控件的位图,若指定了 image 参数,则该参数会被忽略 compound 控制 Lable 中文本图像的混合模式,若选项设置为 CENTER,则文本显示图像,如果将选项设置为 BOTTOM...、LEFT、RIGHT、TOP,则图像显示文本旁边。...cursor 指定当鼠标 Label 掠过的时候,鼠标的的显示样式,参数值为 arrow、circle、cross、plus disableforeground 指定当 Label 设置为不可用状态的时候前景色的颜色...,那么单位是文本单元,如果 Label 显示的是图像,那么单位就是像素,如果不设置,Label 会自动根据内容来计算出标签的高度 highlightbackground 当 Label 没有获得焦点的时候高亮边框的颜色

1K30

tkinter -- Canvas(4)

先使用 PhotoImage 创建 GIF 图像,再将 image 属性来设置为新创建的 img 绘制直线 创建带箭头的直线 create_line 代码: import tkinter as tk...使用 arrow 属性来控制是否显示箭头 直线的 joinstyle 属性 创建直线,使用 joinstyle 属性 代码: import tkinter as tk root = tk.Tk() # ...指定椭圆的长宽,圆是长宽相等的特殊情况 创建多边形 创建多边形(三角形) 代码: import tkinter as tk root = tk.Tk() # 创建一个 Canvas,设置其背景色为白色...,默认设置为居中对齐 bt = tk.Button(cv, text='ClickMe', command=printWindow) #修改 button  canvas 的对齐方式 cv.create_window...使用 anchor 组件 Canvas 的位置,默认情况下为居中对齐,这样使用后其它的 item将不能再使用 button 占用的那块区域

66530

tkinter)撩妹弹窗(3)之不要越过三八线,canvas的使用方法

38线 第三步:弹窗之越过38线的我 第四步:弹窗之那些隐藏的甜言蜜语 第五步:弹窗之那些隐藏的你的图片 五、总结 ---- 三、前言 开始学习研究这篇文章之前,你可能需要先看一下前面两篇文章,因为我们所用到的函数方法都是在前面基础的延伸...四、正文 三八线: 含义一:1945年9月2日,根据盟国协议,盟军最高司令官麦克阿瑟第一号指令中,以北纬38度线为界作为美苏两国军队分别受理驻朝日军的投降事宜对日开展军事活动的临时分界线,以北为驻朝苏军受降区...,当弹窗右边时,显示一个颜色。...这里有两个变化,突变渐变 突变:突然改变,达到超过某一条线之后,突然变为另外一个。 渐变:逐渐改变,到达某一条线时,中间会显示这条分界线,逐渐变为另外一个。...假如窗口的坐标是(x,y),我们需要的文字显示(520,520)的位置,那文字应该在画布的那个坐标显示呢? 因为文字的坐标是变动的,于是就有 (520-x,520-y) ?

1.6K30
领券