how to embed non-tkinter VLC player into grid of tkinter with python?

Ho Yeung Lee jobmattcon at gmail.com
Thu Mar 16 01:16:28 EDT 2017


martin at ubuntu:~/Downloads/python-vlc/examples$ xdg-screensaver: Window 0x09000000 does not exist

error when run after inherit a frame which put in a grid

import vlc
from Tkinter import *
import os

import Tkinter as tk

class SampleApp(tk.Frame):
    def __init__(self, parent, title=None):
        #def __init__(self, *args, **kwargs):
        #tk.Tk.__init__(self, *args, **kwargs)        
        tk.Frame.__init__(self, parent)
        self.parent = parent
        self.parent.title("video")
        p=vlc.MediaPlayer('file:///home/martin/Downloads/autoweb.mp4')
        p.play()
        self.register()
        #self.grid(row=1,column=1)

root = Tk()
for r in range(5):
    for c in range(5):
        termf = Frame(root, height=200, width=300)
        termf.pack(fill=BOTH, expand=YES)
        wid = termf.winfo_id()
        #player = Player()
        SampleApp(root, title="tkinter vlc").grid(row=r,column=c)
        #os.system('xterm -into %d -geometry 40x20 -sb &' % wid)
        #os.system('vlc --no-fullscreen "file:///home/martin/Downloads/autoweb.mp4" -into %d -geometry 100x200 -sb &' % wid)

root.mainloop()


On Thursday, March 16, 2017 at 12:40:16 PM UTC+8, Ho Yeung Lee wrote:
> we have many TV that would like to be monitored,
> 
> how to embed non-tkinter VLC player into grid of tkinter with python?
> 
> below code can embeded xterm but not for VLC player
> 
> 
> import vlc
> from Tkinter import *
> import os
> 
> root = Tk()
> for r in range(2):
>     for c in range(1):
>         termf = Frame(root, height=100, width=200)
>         termf.pack(fill=BOTH, expand=YES)
>         wid = termf.winfo_id()
>         termf.grid(row=r,column=c)
>         p=vlc.MediaPlayer('file:///home/martin/Downloads/autoweb.mp4')
>         p.get_tk_widget().grid(row=r,column=c)
>         p.play()
>         #os.system('xterm -into %d -geometry 40x20 -sb &' % wid)
>         os.system('vlc --no-fullscreen "file:///home/martin/Downloads/autoweb.mp4" -into %d -geometry 100x200 -sb &' % wid)
> 
> root.mainloop()



More information about the Python-list mailing list