wxWidgets控件——wxAuiNotebook

wxWidgets:wxAuiNotebook类用法 wxWidgets:wxAuiNotebook类用法wxWidgets:wxAuiNotebook类用法用法详细说明 wxWidgets:wxAuiNotebook类用法 用法详细说明 #include <wx/aui/auibook.h> wxAuiNotebook的继承图 wxAuiNotebook是 wxAUI 类框架的一部分,它代表一个笔记本控件,用关联的选项卡管理多个窗口。 wxAuiNotebook是一个笔记本控件,它实现了具有可停靠窗格的应用程序中常见的许多功能。具体来说,wxA 阅读详情

wxAuiNotebook—style(各样式用法和效果)

wxAuiNotebook 提供了多种样式选项,这些样式可以用来定制多页界面的外观和行为。以下是图中列出的各个样式的具体用法和效果:

wxAUI_NB_BOTTOM

  • 用途:将标签放置在窗口底部。
  • 效果:标签栏会出现在窗口的底部,而不是默认的顶部。

wxAUI_NB_CLOSE_BUTTON

  • 用途:为每个标签添加一个关闭按钮。
  • 效果:每个标签上都会有一个关闭按钮,用户可以通过点击该按钮来关闭对应的页面。

wxAUI_NB_CLOSE_ON_ACTIVE_TAB

  • 用途:仅在活动标签上显示关闭按钮。
  • 效果:只有当前激活的标签上有关闭按钮,其他标签没有。

wxAUI_NB_CLOSE_ON_ALL_TABS

  • 用途:在所有标签上都显示关闭按钮。
  • 效果:每个标签上都有关闭按钮,用户可以关闭任意一个页面。

wxAUI_NB_DEFAULT_STYLE

  • 用途:使用默认样式。
  • 效果:应用默认的样式设置,通常包括基本的布局和功能。

wxAUI_NB_MIDDLE_CLICK_CLOSE

  • 用途:允许通过鼠标中键点击关闭标签。
  • 效果:用户可以通过点击鼠标中键来关闭当前激活的标签。

wxAUI_NB_SCROLL_BUTTONS

  • 用途:启用滚动按钮以处理超出屏幕宽度的标签。
  • 效果:当标签数量超过屏幕宽度时,会出现滚动按钮,用户可以通过点击滚动按钮查看和选择更多的标签。

wxAUI_NB_TAB_EXTERNAL_MOVE

  • 用途:允许用户拖动标签到外部窗口。
  • 效果:用户可以将标签拖出主窗口,形成独立的浮动窗口。

wxAUI_NB_TAB_FIXED_WIDTH

  • 用途:固定标签的宽度。
  • 效果:所有标签的宽度相同,不会根据内容自动调整。

wxAUI_NB_TAB_MOVE

  • 用途:允许用户拖动标签以改变顺序。
  • 效果:用户可以通过拖动标签来重新排列它们的顺序。

wxAUI_NB_TAB_SPLIT

  • 用途:允许用户拆分标签页。
  • 效果:用户可以通过拖动标签来创建新的标签组或拆分现有的标签组。

wxAUI_NB_TOP

  • 用途:将标签放置在窗口顶部(这是默认位置)。
  • 效果:标签栏会出现在窗口的顶部。

wxAUI_NB_WINDOWLIST_BUTTON

  • 用途:显示一个按钮,点击后弹出一个包含所有标签的列表。
  • 效果:提供一个按钮,用户点击后会看到一个包含所有标签的列表,方便快速切换页面。

示例代码

下面是一个示例代码,展示了如何使用 wxAuiNotebook 并设置不同的样式:

#include <wx/wx.h>
#include <wx/aui/auibook.h>

class MyFrame : public wxFrame {
public:
    MyFrame(const wxString& title)
        : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(800, 600)) {
        // 创建一个AuiNotebook
        wxAuiNotebook* notebook = new wxAuiNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
                                                    wxAUI_NB_TOP | wxAUI_NB_CLOSE_BUTTON);

        // 添加第一个页面
        wxPanel* panel1 = new wxPanel(notebook, wxID_ANY);
        notebook->AddPage(panel1, "Tab 1");

        // 添加第二个页面
        wxPanel* panel2 = new wxPanel(notebook, wxID_ANY);
        notebook->AddPage(panel2, "Tab 2");

        // 设置初始布局
        this->Layout();
    }
};

class MyApp : public wxApp {
public:
    virtual bool OnInit() {
        MyFrame* frame = new MyFrame("wxAuiNotebook 示例");
        frame->Show(true);
        return true;
    }
};

wxIMPLEMENT_APP(MyApp);

通过合理组合这些样式,你可以定制 wxAuiNotebook 的外观和行为,使其更符合你的应用程序需求。例如,你可以设置标签的位置、是否显示关闭按钮、是否允许拖动标签等。这些样式提供了极大的灵活性,帮助你创建更加美观和易用的多页界面。

wxWidgets:使用wxAuiNotebook类创建多页标签控件 wxAuiNotebook是wxWidgets库中的一个类,用于创建多页标签控件。这个控件可以让用户在一个窗口中切换不同的页面,每个页面可以包含不同的内容。在本文中,我们将详细介绍如何使用wxAuiNotebook类创建多页标签控件,并提供相应的源代码供参考。在上面的代码中,我们创建了一个主窗口,并在主窗口中创建了一个wxAuiNotebook控件。这是一个简单的示例,演示了如何使用wxAuiNotebook类创建多页标签控件。我们创建一个名为MyApp的类,并重写它的OnInit()函数。 阅读详情

相关推荐

wxWidgets:wxAuiNotebook控件的使用方法和实例

wxWidgets:wxAuiNotebook控件的使用方法和实例wxWidgets是一款跨平台的GUI(图形用户界面)开发框架,它支持多种操作系统,包括Windows、Linux和macOS。其中,wxAuiNotebook是wxWidgets中的一个重要的控件类,大量用于对标签页类型的窗口进行管理。wxAuiNotebook类提供了一组功能强大且易于使用的方法,用于创建、添加、删除和管理标签页,还可以通过移动标签页来重新排列标签页的顺序。

qq_37934722的博客 576

wxAuiNotebook的wxAUI_NB_TAB_EXTERNAL_MOVE样式用法

     wxAuiNotebook是wxWidgets库中用于实现同一窗口显示多页的页面tab,这是一种很流行的页面布局方式。在wxWidgets中,可以将从wxWindow继承的页面添加到notebook中,页面上可以再放多个控件。另外,因为控件本身也从wxWindow继承,所以也可以将单个的一个控件添加到notebook中。     notebook的分页可以支持页面拖放,即拖动页面

呆若木鸡的专栏 4976

wxWidgets:wxWidgets中的wxAuiNotebookEvent类

wxWidgets是一个流行的跨平台C++应用程序框架,它提供了丰富的GUI(图形用户界面)工具和库。wxAuiNotebookEvent类是wxWidgets中的一个重要类,用于处理与wxAuiNotebook控件相关的事件。wxAuiNotebook是一个易于使用的多文档用户界面(MDI)控件,它允许用户在多个选项卡中显示和管理不同的文档。在上面的示例中,我们首先包含了必要的头文件,并定义了一个自定义的事件处理类。控件,并向它添加了几个页面。函数将被调用,我们可以在该函数中编写处理页面更改事件的代码。

techDM的博客 210

实战wxPython:048 - Book控件(第二部分)

从前面的文章中,我们已经了解了几种book类控件,它们分别是wx.Notebook(最常用),wx.Choisebook,wx.Listbook,wx.Toolbook和wx.TreeBook,在本文中,我们将继续介绍几种book类控件wx.aui.AuiNotebook,AGW包中的FlatNotebook和AuiNotebook控件

seniorwizard的专栏 1795

wxWidgets:使用wxAuiTabArt类制作自定义标签页

然后,我们实例化了我们自己的标签页艺术提供者MyTabArt,并将其设置为笔记本控件的提供者。其中,wxAuiTabArt类是wxWidgets中用于实现自定义标签页的类。wxAuiTabArt类提供了一组方法和属性,可以让您自定义标签页的外观和行为。通过使用它,您可以轻松地创建漂亮的标签页外观,并且还可以根据需要更改标签页的行为。在上面的示例代码中,我们定义了一个名为MyTabArt的类,该类继承自wxAuiGenericTabArt,可以将标签页的缩进大小设置为0。

qq_37934722的博客 341

wxWidgets:如何操作档案及制作应用程序

在 wxWidgets 中有一个重要的功能是操作档案,它允许用户压缩和解压缩文件,同时也可以在压缩文件中添加、删除或替换文件。wxPanel 被添加到 wxAuiNotebook 中,并使用 AddPage() 函数往其中添加一个标题为 “Panel 1” 和标题为 “Panel 2” 的两个页面。在这种情况下,操作的对象变成了 tar 文件。上述代码创建一个名为 test.zip 的文件,然后向其中添加一个名为 file.txt 的文件,并在其中写入 “Hello, world!

DevEnigma的博客 115

使用 wxWidgets 的 wxAUI 界面库,创建功能丰富的软件界面

软件界面是用户与软件交互的重要桥梁,一个好的界面不仅可以提升用户体验,还可以彰显软件的专业性。wxAUI 是一款功能强大的跨平台界面库,可以帮助开发者轻松创建出美观、易用的软件界面。wxAUI 是一款功能强大、易于使用的跨平台界面库,可以帮助开发者轻松创建出美观、易用的软件界面。如果你正在开发一款软件,不妨尝试使用 wxAUI 来创建界面。

boom's works 2735

wxWidgets:深入了解wxAUI管理窗口布局

wxAuiManager允许程序员将各种不同的窗口类型(例如工具栏、状态栏、文本编辑器或者任何其他wxWindow派生类)与主窗口相连接,以实现复杂的布局方案。通过创建一个wxWindow对应的wxAuiPaneInfo,我们可以设置这个窗口的属性,例如窗口名称、位置、尺寸等。然后,创建需要添加到主窗口的窗口,例如一个wxPanel、一个wxToolBar以及一个wxNotebook。其中,wxAUI是wxWidgets的一个扩展库,允许用户在程序中使用自定义窗口布局和管理工具栏等控件。

PixelDyno的博客 801

wxAuiNoteBook隐藏的问题

为了这个问题折腾了将近一天, 调用wxAuiNoteBook的RemovePage,可以隐藏,但是刷新有问题 别的tab上的控件还在工作,点了界面以后不知道会有什么后果 后来通过查看源码,实验发现在RemovePage之前先Hide Page就能正常工作了 不知道这是不是一个bug,并且2.8和3.x版本都有这个问题。 ...

185

wxWidgets:wxAuiManager类的应用

在上面的代码中,我们首先创建了一个wxBoxSizer对象,并将其设置为框架窗口的sizer。wxWidgets是一种流行的跨平台GUI工具包,它的wxAuiManager类可以为你的应用程序提供灵活的布局管理。在上面的代码中,我们首先创建了一个wxPanel对象和一个wxNotebook对象,并将它们添加到wxAuiManager对象中。AddPane函数的第一个参数是要添加的窗口,第二个参数是窗口的位置,第三个参数是面板的标题。在上面的代码中,我们创建了一个OnClose函数来处理窗口关闭事件。

带你成为别人眼中的大佬! 306

wxPython的wxAuiNotebook实现Tab页效果

wxPython的wxAuiNotebook实现Tab页效果

Deepin源码编译wxWidgets 3.1.5完整指南:GTK依赖与configure实战

C++跨平台GUI框架中,wxWidgets凭借对原生控件的直接封装和轻量级设计,成为许多Linux桌面应用开发者的选择。在Deepin等Debian系发行版上,wxWidgets的GTK后端依赖于GTK、GLib、Cairo等底层库,其编译配置直接决定了框架的形态与功能边界。通过源码编译,开发者可以按需启用模块、定制C++标准并获取新版接口,从而满足更现代的应用需求。面对系统包版本老旧、头文件缺失、链接符号缺失等问题,掌握configure的关键参数和依赖检查技巧尤为重要。本文将围绕Deepin环境下wx

weixin_34186128的博客 390

Robust MPC 4 (鲁棒&随机 MPC)

Robust MPC

weixin_44299806的博客 2735

wxWidgets高级用户界面框架wxAUI使用感受

wxAUI是wxWidgets界面库里高级控件或者说框架,今天有时间看来它的文档,试着画了一个程序的界面,感觉还不错。 开发环境:IDE用的是Code::Blocks + wxSmith,虽然Code::Blocks时常崩溃,但还可以忍受,毕竟都是免费的。崩溃原因没有跟踪分析,暂且忍耐。

boom's works 4117

AUTOSAR BswM配置实战:手把手教你用Vector Davinci Configurator搭建第一个模式管理规则

本文详细介绍了如何使用Vector Davinci Configurator工具配置AUTOSAR BswM模块,实现车身控制ECU的模式管理规则。通过实战案例,从环境准备、核心概念梳理到具体配置步骤,包括ModeRequestPort、ModeCondition、Logical Expression和Rules的构建,帮助工程师快速掌握BswM配置技巧,提升汽车电子软件开发效率。

weixin_28678831的博客 352

自己动手写CPU(1)五级流水线及CPU第一条指令ori

自己动手写CPU(1)五级流水线及CPU第一条指令ori 动机 不知为何研一的自由时间突然多起来,可能人一闲下来就容易焦虑吧,hhhhhh。正好之前看到一本《自己动手写CPU》,就按照此书从头实做一遍MIPS指令集的CPU,也当做对大学课程的总结。之前看龙芯杯比赛的代码震惊到我了,想想那堆大佬本科在搞这东西而我本科在瓜瓜地刷分,感叹人之间的差距真的好大。痛定思痛,还是先动手做起来这才能假意安慰自己,我好像也不错。闲言少叙,让我们开始吧! 由于作者提供了各章实现的具体代码,所以该系列博客主要记录我过程中有哪些

谦豫 7077

wxWidgets的AUI(高级用户界面,Advanced User Interface)

前面已经创建了一个简单的窗口程序,包括菜单、工具栏和状态栏,能够响应用户消息。但是,这个窗口还过于简单,相较于目标——类似“Visual Studio”的界面,还缺少两样主要的东西: 浮动/停靠窗口 标签化的多文档界面(Tab MDI)。 wxWidgets提供了高级用户界面(AUI),能够实现所需的功能。AUI概貌wxAUI给用户提供了高级界面功能,主要包括浮动窗口、可定制的布局等。 主要功能包

penny_hardaway的专栏 6265

Fofa API高阶玩法:用Python批量获取漏洞资产(含OA系统扫描实战)

本文详细介绍了如何利用Python结合Fofa API实现自动化漏洞资产收集的高阶实战技巧。通过构建健壮的客户端、设计精准查询语法、实现多线程批量采集,并以OA系统漏洞扫描为例,演示了从资产发现、过滤验证到报告生成的全流程,旨在提升安全运维与应急响应的效率。

weixin_28607671的博客 497

一文全面了解 wxAUI 界面库

wxAUI 代表高级用户界面 (Advanced User Interface)。它的目标是为用户提供一个前沿的界面,具有可浮动的窗口和可自定义的布局。最初的 wxAUI 源代码由 Kirix Corp.慷慨地提供,并根据 wxWindows 许可证进行授权,此后它们被集成到 wxWidgets 中并进一步改进。另请参阅窗口停靠 (wxAUI)

boom's works 1278

1、工作流介绍

工作流起源于办公自动化,是对软件中业务流程的抽象。通过工作流将各个任务有序组织起来形成一个完整的业务闭环。比如:请假审批流程,网上购物流程,银行贷款流程;!

leyoliu的博客 5108

qt实现OCC读取STEP模型并显示(附完整源码)

qt实现OCC读取STEP模型并显示(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1480

34、wxWidgets小部件之wxNoteBook

一、Grid控件类 class MyGrid:public wxGrid { public: MyGrid(wxNotebook* parent); }; MyGrid::MyGrid(wxNotebook* parent) :wxGrid(parent,-1) { CreateGrid(30,30); SetRowLabelSize(50); SetColLabelSize(25); SetRowLabelAlignment(wxALIGN_RIG...

sq8706的专栏 956

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文

在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助!

CyberSphinx的博客 649
上一篇: wxWidgets的wxButton鼠标事件——wxMouseEvent
下一篇: 识别电路板上的元器件及作用
Code_KY
博客等级 码龄5年 43粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值