wxpython滑动面板_wxpython面板全屏?

本文介绍了一种使用MikeDriscoll的示例代码,在wxPython中创建多面板应用,通过模拟全屏模式来切换面板大小。通过F1、F2、F3键控制面板1和面板2的大小变化,适用于需要保留部分控制功能的场景。
摘要由CSDN通过智能技术生成

使用Mike Driscoll的示例代码,当使用多个面板时,有一种伪造面板全屏的方法。目前这有点破绽,但它应该给你它的要点。使用SetMinSize和SendSizeEvent。

单击彩色面板进行对焦,然后按F1,F2或F3切换面板进出“全屏”或恢复到相同尺寸。

import wx

class MyPanel(wx.Panel):

""""""

def __init__(self, parent):

"""Constructor"""

wx.Panel.__init__(self, parent)

self.Bind(wx.EVT_KEY_DOWN, self.onKey)

def onKey(self, event):

"""

Check for ESC key press and exit is ESC is pressed

F1 panel 1 is full screen

F2 panel 2 is full screen

F3 panels revert to equal sizes

"""

key_code = event.GetKeyCode()

parent = self.GetParent()

width, height = wx.GetDisplaySize()

if key_code == wx.WXK_ESCAPE:

self.GetParent().Close()

elif key_code == wx.WXK_F1:

parent.panel1.SetMinSize((1,1))

parent.panel2.SetMinSize((width,height))

parent.SendSizeEvent()

parent.Layout()

parent.Fit()

elif key_code == wx.WXK_F2:

parent.panel2.SetMinSize((1,1))

parent.panel1.SetMinSize((width,height))

parent.SendSizeEvent()

parent.Layout()

parent.Fit()

elif key_code == wx.WXK_F3:

parent.panel2.SetMinSize((120,70))

parent.panel1.SetMinSize((120,70))

parent.SendSizeEvent()

parent.Layout()

parent.Fit()

else:

event.Skip()

class MyFrame(wx.Frame):

""""""

def __init__(self):

"""Constructor"""

wx.Frame.__init__(self, None, title="Test FullScreen")

self.panel1 = MyPanel(self)

self.panel2 = MyPanel(self)

self.panel1.SetBackgroundColour(wx.GREEN)

self.panel2.SetBackgroundColour(wx.BLUE)

vbox = wx.BoxSizer(wx.VERTICAL)

vbox.Add(self.panel1)

vbox.Add(self.panel2)

self.SetSizer(vbox)

self.Show()

if __name__ == "__main__":

app = wx.App(False)

frame = MyFrame()

app.MainLoop()

注意:你的情况,你会不会想真正进入全屏模式,因为你可能需要仍然可以访问一些控制按钮,所以只是扣除您从全屏幕大小所需要的量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值