wxNotebook 滚屏至监视器区域外部

43 阅读2分钟

1.用户想创建一个程序,可以使用 wxNotebook 将监视器以外的区域滚动到页面中,因为监视器上的工作区域太小,无法容纳程序。用户尝试了一种方法,但无法使滚动工作。

  1. 解决方案

该解决方案通过使用 wx.lib.scrolledpanel 库来创建滚动面板来实现。此库提供了 ScrolledPanel 类,该类允许根据需要创建可滚动面板。

import wx
import math as m
import  wx.lib.scrolledpanel as scrolled


class PageOne(scrolled.ScrolledPanel):


    def __init__(self, parent):
        scrolled.ScrolledPanel.__init__(self, parent,
                                        style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER)

        self.SetupScrolling()

        font = wx.Font(10, wx.ROMAN, wx.NORMAL, wx.NORMAL)


        self.name1= wx.TextCtrl(self, -1, '',  (10, 35), (70, -1))
        self.name2= wx.TextCtrl(self, -1, '',  (10, 35+30), (70, -1))
        self.name3= wx.TextCtrl(self, -1, '',  (10, 35+60), (70, -1))
        self.name4= wx.TextCtrl(self, -1, '',  (10, 35+90), (70, -1))
        self.name5= wx.TextCtrl(self, -1, '',  (10, 35+120), (70, -1))
        self.name6= wx.TextCtrl(self, -1, '',  (10, 35+150), (70, -1))
        self.name7= wx.TextCtrl(self, -1, '',  (10, 35+180), (70, -1))
        self.name8= wx.TextCtrl(self, -1, '',  (10, 35+210), (70, -1))
        self.name9= wx.TextCtrl(self, -1, '',  (10, 35+240), (70, -1))
        self.name10= wx.TextCtrl(self, -1, '',  (10, 35+270), (70, -1))
        self.name11= wx.TextCtrl(self, -1, '',  (10, 35+300), (70, -1))
        self.name12= wx.TextCtrl(self, -1, '',  (10, 35+330), (70, -1))
        self.name13= wx.TextCtrl(self, -1, '',  (10, 35+360), (70, -1))
        self.name14= wx.TextCtrl(self, -1, '',  (10, 35+390), (70, -1))
        self.name15= wx.TextCtrl(self, -1, '',  (10, 35+420), (70, -1))
        self.name16= wx.TextCtrl(self, -1, '',  (10, 35+450), (70, -1))
        self.name17= wx.TextCtrl(self, -1, '',  (10, 35+480), (70, -1))
        self.name18= wx.TextCtrl(self, -1, '',  (10, 35+510), (70, -1))


        self.to1= wx.TextCtrl(self, -1, '',  (90, 35), (40, -1))
        self.to2= wx.TextCtrl(self, -1, '',  (90, 35+30), (40, -1))
        self.to3= wx.TextCtrl(self, -1, '',  (90, 35+60), (40, -1))
        self.to4= wx.TextCtrl(self, -1, '',  (90, 35+90), (40, -1))
        self.to5= wx.TextCtrl(self, -1, '',  (90, 35+120), (40, -1))
        self.to6= wx.TextCtrl(self, -1, '',  (90, 35+150), (40, -1))
        self.to7= wx.TextCtrl(self, -1, '',  (90, 35+180), (40, -1))
        self.to8= wx.TextCtrl(self, -1, '',  (90, 35+210), (40, -1))
        self.to9= wx.TextCtrl(self, -1, '',  (90, 35+240), (40, -1))
        self.to10= wx.TextCtrl(self, -1, '',  (90, 35+270), (40, -1))
        self.to11= wx.TextCtrl(self, -1, '',  (90, 35+300), (40, -1))
        self.to12= wx.TextCtrl(self, -1, '',  (90, 35+330), (40, -1))
        self.to13= wx.TextCtrl(self, -1, '',  (90, 35+360), (40, -1))
        self.to14= wx.TextCtrl(self, -1, '',  (90, 35+390), (40, -1))
        self.to15= wx.TextCtrl(self, -1, '',  (90, 35+420), (40, -1))
        self.to16= wx.TextCtrl(self, -1, '',  (90, 35+450), (40, -1))
        self.to17= wx.TextCtrl(self, -1, '',  (90, 35+480), (40, -1))
        self.to18= wx.TextCtrl(self, -1, '',  (90, 35+510), (40, -1))


        self.topc1= wx.TextCtrl(self, -1, '',  (140, 35), (40, -1))
        self.topc2= wx.TextCtrl(self, -1, '',  (140, 35+30), (40, -1))
        self.topc3= wx.TextCtrl(self, -1, '',  (140, 35+60), (40, -1))
        self.topc4= wx.TextCtrl(self, -1, '',  (140, 35+90), (40, -1))
        self.topc5= wx.TextCtrl(self, -1, '',  (140, 35+120), (40, -1))
        self.topc6= wx.TextCtrl(self, -1, '',  (140, 35+150), (40, -1))
        self.topc7= wx.TextCtrl(self, -1, '',  (140, 35+180), (40, -1))
        self.topc8= wx.TextCtrl(self, -1, '',  (140, 35+210), (40, -1))
        self.topc9= wx.TextCtrl(self, -1, '',  (140, 35+240), (40, -1))
        self.topc10= wx.TextCtrl(self, -1, '',  (140, 35+270), (40, -1))
        self.topc11= wx.TextCtrl(self, -1, '',  (140, 35+300), (40, -1))
        self.topc12= wx.TextCtrl(self, -1, '',