I have a help pop up dialog that works fine in Linux and Windows where Python 3.5.x is installed but after a pyinstaller build the rest of the app works fine but that pop up is just an empty form void of all five of its widgets. I can’t see anything wrong with the code I’ve tried to remove widgets one at a time to see if any of them is a problem yet same result works before building and fails after
from tkinter import *
from tkinter import ttk
from tkinterhtml import TkinterHtml as tkhtml
class HelpSystem(Toplevel):
def __init__(self, parent, dlgTitle='Help', helpfile='help.db',
Manuals=None, showtopic=None):
Toplevel.__init__(self, parent)
self.transient(parent)
self.parent = parent
self.title(dlgTitle)
self.con = sqlite3.connect(helpfile)
self.cur = self.con.cursor()
self.helpfile = helpfile
self.Manuals = Manuals
self.showtopic = showtopic
self.searchresults = []
self.searchindex = -1
self.search_width = 67
self.tree_height = 19
body = Frame(self)
self.initial_focus = self.Dialog_Builder(body)
body.pack()
self.grab_set()
if not self.initial_focus:
self.initial_focus = self
self.protocol("WM_DELETE_WINDOW", self.exitme)
self.initial_focus.focus_set()
self.wait_window(self)
def Dialog_Builder(self, mybody):
self.sbox = Entry(mybody, width=self.search_width,
font=('Helvetica', 15))
self.sbuts = Button(mybody, text='Search',
command=lambda: self.btnClick('s'))
self.sbutn = Button(mybody, text='Next',
command=lambda: self.btnClick('n'))
ff = self._font_details('Helvetica', 15)
self.toc = ttk.Treeview(mybody, show='tree', height=self.tree_height,
selectmode=BROWSE)
self.toc.bind('<ButtonRelease-1>', self._clicktopic)
self.style = ttk.Style()
self.style.configure('Treeview', font=("Helvetica", 15))
self.style.configure('Treeview', rowheight=ff[1])
self.toc.column('#0', width=(ff[0] * 20))
self.vwr = tkhtml(mybody, height=ff[1] * self.tree_height)
self.sbox.grid(column=0, row=0, columnspan=8, rowspan=1, padx=5,
pady=5, sticky=W)
self.sbuts.grid(column=8, row=0, columnspan=1, rowspan=1, padx=5,
pady=5, sticky=W)
self.sbutn.grid(column=9, row=0, columnspan=1, rowspan=1, padx=5,
pady=5, sticky=W)
self.toc.grid(column=0, row=1, columnspan=3, rowspan=1, padx=5, pady=5,
sticky=NW)
self.vwr.grid(column=3, row=1, columnspan=7, rowspan=1, padx=5, pady=5,
sticky=NW)