热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

wxpython中文教程_wxPython选项卡

虽然我们没有为wxPython系列大量使用面向对象,但出于简单的原因,我们无法绕过它。在本教程中,你将学习如何使用wxPython创建选项

虽然我们没有为 wxPython 系列大量使用面向对象,但出于简单的原因,我们无法绕过它。在本教程中,你将学习如何使用 wxPython 创建选项卡界面。

类 Mainframe 用来创建框架,就像我们在前面的例子中所做的那样。其他类是选项卡的内容。我们在主框架中创建了一个面板和笔记本(标签夹)。然后我们创建 tab 对象:

tab1 = TabOne(nb)

tab2 = TabTwo(nb)

...

我们使用以下方法附加到标签夹:

nb.AddPage(tab1, "Tab 1")

nb.AddPage(tab2, "Tab 2")

...

完整代码:

import wx

# Define the tab content as classes:

class TabOne(wx.Panel):

def __init__(self, parent):

wx.Panel.__init__(self, parent)

t = wx.StaticText(self, -1, "This is the first tab", (20,20))

class TabTwo(wx.Panel):

def __init__(self, parent):

wx.Panel.__init__(self, parent)

t = wx.StaticText(self, -1, "This is the second tab", (20,20))

class TabThree(wx.Panel):

def __init__(self, parent):

wx.Panel.__init__(self, parent)

t = wx.StaticText(self, -1, "This is the third tab", (20,20))

class TabFour(wx.Panel):

def __init__(self, parent):

wx.Panel.__init__(self, parent)

t = wx.StaticText(self, -1, "This is the last tab", (20,20))

class MainFrame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, None, title="wxPython tabs example @pythonspot.com")

# Create a panel and notebook (tabs holder)

p = wx.Panel(self)

nb = wx.Notebook(p)

# Create the tab windows

tab1 = TabOne(nb)

tab2 = TabTwo(nb)

tab3 = TabThree(nb)

tab4 = TabFour(nb)

# Add the windows to tabs and name them.

nb.AddPage(tab1, "Tab 1")

nb.AddPage(tab2, "Tab 2")

nb.AddPage(tab3, "Tab 3")

nb.AddPage(tab4, "Tab 4")

# Set noteboook in a sizer to create the layout

sizer = wx.BoxSizer()

sizer.Add(nb, 1, wx.EXPAND)

p.SetSizer(sizer)

if __name__ == "__main__":

app = wx.App()

MainFrame().Show()

app.MainLoop()

输出:

wxTabs.png



推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了如何在wxpython中将matplotlib图表嵌入到自定义窗体中的方法。通过调用FigureCanvasWx类,可以实现在自定义窗体中显示matplotlib图表。同时,还介绍了与此相关的一些类和参数。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有