Jun-27-2018, 04:52 PM
I am trying to use a 19" T.V with my laptop connecting it via the hdmi port.
I am running python 3.53 and wxpython 4.0.2 on my Linux Mint 18.2 HP laptop.
I found a script which allowed me to set this up. I have just been testing it out but there seems to be a snag.
With this the BoxSizer in frame0 ( my laptop ) appears correctly but the other one has half the column of buttons on the left obscured but not showing on my laptop screen.
Running
Shows the screens as 1336 x 768 ( laptop )
and 1920 x 1080 ( T.V )
altering the code for the T.V as
I have to position the vbox way over to the right of where I expect it should be so all columns of buttons show correctly.
I expect I am doing something wrong but I hope someone can say what that is.
Any ideas please?
I am running python 3.53 and wxpython 4.0.2 on my Linux Mint 18.2 HP laptop.
I found a script which allowed me to set this up. I have just been testing it out but there seems to be a snag.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
num_displays = wx.Display.GetCount() #Open a frame on each display for display_num in range ( 0 ,num_displays): #Get a display object display = wx.Display(display_num) #To get a wx.Rect that gives the geometry of a display geometry = display.GetGeometry() #Create a frame on the display if display_num = = 0 : frame0 = wx.Frame( None , - 1 , "Display %d" % display_num, geometry.GetTopLeft(),geometry.GetSize()) frame0.Show() else : frame1 = wx.Frame( None , - 1 , "Display %d" % display_num, geometry.GetTopLeft(),geometry.GetSize()) frame1.Show() vbox0 = wx.BoxSizer(wx.VERTICAL) gs = wx.GridSizer( 6 , 5 , 10 , 10 ) for msg in range ( 1 , 27 ): mytext = str (msg) gs.Add(wx.Button(frame0, label = mytext), 0 , border = 10 ) vbox0.Add(gs, proportion = . 3 , flag = wx.TOP) frame0.SetSizer(vbox0) #========================================================================================= vbox1 = wx.BoxSizer(wx.VERTICAL) gt = wx.GridSizer( 6 , 5 , 15 , 15 ) for msg in range ( 1 , 27 ): mytext = str (msg) gt.Add(wx.Button(frame1, label = mytext), 0 , border = 15 ) vbox1.Add(gt, proportion = . 9 , flag = wx.TOP) frame1.SetSizer(vbox1) |
Running
1 2 3 4 5 |
import wx myapp = wx.App() for idx in range (wx.Display.GetCount()): d = wx.Display(idx) print ( d.IsPrimary(), d.GetGeometry()) |
and 1920 x 1080 ( T.V )
altering the code for the T.V as
1 2 3 4 |
frame1 = wx.Frame( None , - 1 , size = ( 1860 , 1080 ), pos = ( 2100 , 0 )) frame1.SetTitle( 'Frame 1' ) #frame1 = wx.Frame(None,-1,"Display %d"%display_num, geometry.GetTopLeft(),geometry.GetSize()) frame1.Show() |
I expect I am doing something wrong but I hope someone can say what that is.
Any ideas please?