Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
moving from tkinter to wxpython
#30
The run.py program will still be useful if you need to run a demo by itself, without the full phoenix
overhead. But you shouldn't have to carry that around with your application.
Here's a modified version of your code, which allows that:
#!/usr/bin/env python3
import sys
import wx
import os

books = ['67', 'Genesis050', 'Exodus040', 'Leviticus027', 'Numbers036', 'Deuteronomy034', 'Joshua024', 'Judges021',
         'Ruth004', '1 Samuel031', '2 Samuel024', '1 Kings022', '2 Kings025', '1 Chronicles029', '2 Chronicles036',
         'Ezra010', 'Nehemiah013', 'Esther010', 'Job042', 'Psalms075', 'Psalms150', 'Proverbs031', 'Ecclesiastes012',
         'Song of Solomon008', 'Isaiah066', 'Jeremiah052', 'Lamentations005', 'Ezekiel048', 'Daniel012', 'Hosea014',
         'Joel003', 'Amos009', 'Obadiah001', 'Jonah004', 'Micah007', 'Nahum003', 'Habakkuk003', 'Zephaniah003',
         'Haggai002', 'Zechariah014', 'Malachi004', 'Matthew028', 'Mark016', 'Luke024', 'John021', 'Acts028',
         'Romans016', '1 Corinthians016', '2 Corinthians013', 'Galatians006', 'Ephesians006', 'Philippians004',
         'Colossians004', '1 Thessalonians005', '2 Thessalonians003', '1 Timothy006', '2 Timothy004', 'Titus003',
         'Philemon001', 'Hebrews013', 'James005', '1 Peter005', '2 Peter003', '1 John005', '2 John001', '3 John001',
         'Jude001', 'Revelation022']

class Log:
    def WriteText(self, text):
        if text[-1:] == '\n':
            text = text[:-1]
        wx.LogMessage(text)

    write = WriteText

class BibleNB(wx.Frame):
    def __init__(self, parent, id=wx.ID_ANY, title="Bible For The Blind", xpos=20, ypos=20, width=600,
                 height=338, style=wx.DEFAULT_FRAME_STYLE, name='BibleApp'):
        # ideal width x height ratio: 16:9
        app = wx.App()
        wx.Frame.__init__(self, parent, id=id, title=title, pos=(xpos, ypos), size=(width, height), style=style)
        app.SetTopWindow(self)
        self.create_notebook()
        app.MainLoop()

    def create_notebook(self):
        wx.Log.SetActiveTarget(wx.LogStderr())
        log = Log()
        # for size use 16:9 ratio for best appearence
        yfactor = 16/9
        width = 1000
        height = int(width / yfactor)
        self.frame =  wx.Frame(self,
                               id=wx.ID_ANY,
                               title='Bible For The Blind',
                               pos=(20, 20),
                               size=(width, height),
                               style=wx.DEFAULT_FRAME_STYLE,
                               name=wx.FrameNameStr)

        self.nb = wx.Notebook(self.frame, id=wx.ID_ANY, style=wx.BK_DEFAULT)
        self.log = log

        self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
        self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnPageChanging)
        for pagenum in range(1, 68):
            column = 0
            row = 0
            pge = books[pagenum]
            thispage = pge[:-3]
            win = wx.Panel(self.nb, -1, style=wx.CLIP_CHILDREN)
            # win = self.makeColorPanel(wx.WHITE)
            win.SetSize(self.GetBestSize())
            # st.SetForegroundColour(wx.BLACK)
            # self.nb.AddPage(win, thispage)
            self.nb.AddPage(win, thispage)
            numchps = books[pagenum]
            chaps = int(numchps[-3:])
            if (pge == 'Psalms150'):
                for nums in range(76, 151):
                    btn = 'butt' + str(nums)
                    btn = wx.Button(win, -1, str(nums), pos=(column, row), size=(110, 36))
                    btn.Bind(wx.EVT_ENTER_WINDOW, self.OnEnterWindow, btn)
                    btn.Bind(wx.EVT_LEAVE_WINDOW, self.OnExitWindow, btn)
                    btn.Bind(wx.EVT_BUTTON, self.OnClick, btn)
                    column += 150
                    if column == 1200:
                        column = 0
                        row += 55
            else:
                column = 0
                row = 0
                for nums in range(1, chaps + 1):
                    btn = 'butt' + str(nums)
                    btn = wx.Button(win, -1, str(nums), pos=(column, row), size=(110, 36))
                    btn.Bind(wx.EVT_ENTER_WINDOW, self.OnEnterWindow, btn)
                    btn.Bind(wx.EVT_LEAVE_WINDOW, self.OnExitWindow, btn)
                    btn.Bind(wx.EVT_BUTTON, self.OnClick, btn)
                    column += 150
                    if column == 1200:
                        column = 0
                        row += 55
        self.frame.Show()

    def OnPageChanged(self, event):
        if self:
            old = event.GetOldSelection()
            new = event.GetSelection()
            sel = self.GetSelection()
            self.log.write('OnPageChanged,  old:%d, new:%d, sel:%d\n' % (old, new, sel))
        event.Skip()

    def OnPageChanging(self, event):
        if self:
            old = event.GetOldSelection()
            new = event.GetSelection()
            sel = self.GetSelection()
            self.log.write('OnPageChanging, old:%d, new:%d, sel:%d\n' % (old, new, sel))
        event.Skip()

    def OnClick(self, event):
        obj = event.GetEventObject()
        print("You clicked %s" % obj.GetLabel())
        event.Skip()

    def OnEnterWindow(self, event):
        obj = event.GetEventObject()
        print("You hovered over %s" % obj.GetLabel())
        cmd = "mpv /home/norman/Blind/genesis.mp3"  # School/Lessons/2tone.mp3 &"
        os.system(cmd)
        event.Skip()

    def OnExitWindow(self, event):
        obj = event.GetEventObject()
        print("You hovered over %s" % obj.GetLabel())
        cmd = "killall -9 mpv"
        os.system(cmd)

if __name__ == '__main__':
    BibleNB(None)
Reply


Messages In This Thread
moving from tkinter to wxpython - by Barrowman - Feb-18-2018, 11:09 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-18-2018, 11:26 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-19-2018, 05:40 AM
RE: moving from tkinter to wxpython - by Barrowman - Feb-19-2018, 08:21 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-19-2018, 09:31 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-20-2018, 03:49 AM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-20-2018, 05:51 AM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-20-2018, 01:10 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-20-2018, 09:20 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-20-2018, 11:11 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-21-2018, 11:25 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-22-2018, 02:37 AM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-22-2018, 02:48 AM
RE: moving from tkinter to wxpython - by Barrowman - Feb-22-2018, 12:06 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-22-2018, 12:22 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-22-2018, 05:51 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-22-2018, 06:51 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-23-2018, 12:05 AM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-23-2018, 02:29 AM
RE: moving from tkinter to wxpython - by Barrowman - Feb-26-2018, 07:04 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-26-2018, 08:45 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-27-2018, 07:54 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-27-2018, 10:47 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-27-2018, 11:15 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-28-2018, 09:15 AM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-28-2018, 10:52 AM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-28-2018, 01:10 PM
RE: moving from tkinter to wxpython - by Barrowman - Feb-28-2018, 02:56 PM
RE: moving from tkinter to wxpython - by Larz60+ - Feb-28-2018, 05:19 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-01-2018, 02:23 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-01-2018, 01:17 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-03-2018, 10:49 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-04-2018, 12:47 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-04-2018, 01:07 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-04-2018, 07:47 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-04-2018, 01:34 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-04-2018, 03:36 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-04-2018, 10:47 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-04-2018, 01:41 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-04-2018, 04:13 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-04-2018, 05:23 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-04-2018, 06:19 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-06-2018, 10:01 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-07-2018, 04:01 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-08-2018, 01:32 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-07-2018, 10:18 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-08-2018, 11:06 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-08-2018, 01:16 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-08-2018, 05:50 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-08-2018, 06:10 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-09-2018, 02:36 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-09-2018, 02:49 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-09-2018, 09:03 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-09-2018, 05:16 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-09-2018, 06:08 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-09-2018, 06:33 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-10-2018, 04:52 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-10-2018, 08:45 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-10-2018, 08:55 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-11-2018, 06:20 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-11-2018, 09:21 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-12-2018, 01:44 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-12-2018, 03:39 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-13-2018, 04:33 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-13-2018, 10:12 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-13-2018, 05:58 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-13-2018, 02:29 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-13-2018, 11:17 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-14-2018, 09:02 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-14-2018, 12:01 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-14-2018, 08:52 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-14-2018, 10:00 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-15-2018, 02:13 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-16-2018, 01:04 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-16-2018, 09:36 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-16-2018, 10:16 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-17-2018, 07:19 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-19-2018, 03:13 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-20-2018, 08:45 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-20-2018, 10:47 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-21-2018, 12:27 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-21-2018, 03:42 AM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-21-2018, 05:37 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-23-2018, 10:58 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-23-2018, 04:49 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-23-2018, 06:14 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-23-2018, 08:15 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-23-2018, 09:43 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-24-2018, 10:10 AM
RE: moving from tkinter to wxpython - by Barrowman - Mar-24-2018, 05:11 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-24-2018, 06:30 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-24-2018, 08:28 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-24-2018, 08:58 PM
RE: moving from tkinter to wxpython - by Barrowman - Mar-24-2018, 09:41 PM
RE: moving from tkinter to wxpython - by Larz60+ - Mar-25-2018, 12:39 AM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020