I'm attempting to use cefpython3 with tkinter and want to make it OOP. Right now I have 3 classes GUI which act as the controller (runs tk.Tk()) and controls what page is showing. Next is a MainPage class which holds all the pages parts; buttons, labels, and a Browser object. The third class is a BrowserFrame class which is based on the tkinter example on cefpython's tutorial page on GitHub.
I'm getting the error AssertionError: cefpython.CreateBrowserSync() may only be called on the UI thread. What is the UI thread? The documentation only explains that it must be called in the UI thread but with no explanation on what the UI thread is.