wxWidgets学习笔记:Tab页wxNotebook使用详解

1.头文件

cpp 复制代码
#include <wx/notebook.h>

创建notebook

cpp 复制代码
m_NoteBook =
            new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 | wxTAB_TRAVERSAL );

在notebook中添加pannel并

cpp 复制代码
m_PanelConcatAndZ =
            new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 wxBoxSizer* bSizerConcatAndZPanel;
    bSizerConcatAndZPanel = new wxBoxSizer( wxVERTICAL );
cpp 复制代码
 m_PanelConcatAndZ->SetSizer( bSizerConcatAndZPanel );
    m_PanelConcatAndZ->Layout();
    bSizerConcatAndZPanel->Fit( m_PanelConcatAndZ );
    m_NoteBook->AddPage( m_PanelConcatAndZ, _( "Concat And Z Conversion" ), true );

在该pannel上面的创建控件

cpp 复制代码
wxStaticText* cztopoloLabel;
    cztopoloLabel = new wxStaticText( m_PanelConcatAndZ, wxID_ANY, _( "Topology:" ),
                                      wxDefaultPosition, wxDefaultSize, 0 );

将notebook添加到布局里面

cpp 复制代码
 bUpperSizer->Add( m_NoteBook, 1, wxEXPAND | wxTOP | wxRIGHT | wxLEFT, 10 );

其中bUpperSizer

cpp 复制代码
 wxBoxSizer* bUpperSizer;
 bUpperSizer = new wxBoxSizer( wxVERTICAL );

将第一个page设置为默认选择

cpp 复制代码
// 将第一个page设置为默认选择
notebook->SetSelection(0);

总结

cpp 复制代码
#include <wx/notebook.h>
#include <wx/panel.h>
  wxPanel* m_PanelDispaly =new wxPanel( m_NoteBookTran, wxID_ANY, wxDefaultPosition,      wxDefaultSize, wxTAB_TRAVERSAL );
    wxBoxSizer* bSizerDisplay = new wxBoxSizer( wxVERTICAL );
	m_PanelDispaly->SetSizer( bSizerDisplay );
    m_PanelDispaly->Layout();
    bSizerDisplay->Fit( m_PanelDispaly );
    m_NoteBookTran->AddPage( m_PanelDispaly, _( "Display" ), true );
// 将第一个page设置为默认选择
notebook->SetSelection(0);
    bMainSizer->Add( m_NoteBookAC, 1, wxEXPAND, 5 );
相关推荐
慧都小妮子4 天前
基于C++ UA Server SDK开发高性能与跨平台 OPC UA 服务器
c++·跨平台·高性能·opc ua·ua server sdk
Rysxt_4 天前
Electron 与 uni-app 区别教程:如何选择适合你的跨平台开发框架?
javascript·electron·uni-app·跨平台
dalgleish7 天前
C# Avalonia 16- Animation- BombDropper
跨平台·mvvm·c# avalonia
jz_ddk8 天前
[LVGL] 从0开始,学LVGL:进阶应用与项目实战(上)
linux·信息可视化·嵌入式·gui·lvgl·界面设计
jz_ddk12 天前
[LVGL] 从0开始,学LVGL:基础构建篇 - 掌握UI的核心构建块
linux·网络协议·ui·rpc·嵌入式·gui·lvgl
十五年专注C++开发12 天前
C++类型转换通用接口设计实现
开发语言·c++·跨平台·类设计
中草药z13 天前
【Docker】零基础上手:原理+Ubuntu/Windows GUI 安装 + 镜像源 / 目录优化
运维·ubuntu·docker·容器·gui·安装·cgroups
可均可可13 天前
如何在统信系统中将 Avalonia 软件程序打包 Deb 安装包
跨平台·avalonia·deb·deb 打包·统信系统
佛系彭哥19 天前
Win11下VSCode与MSYS2配置全攻略
c++·vscode·wxwidgets·msys2
奔跑吧邓邓子20 天前
【C++实战(68)】从0到1:C++跨平台开发之Windows API深度实战
c++·windows·实战·跨平台·windows api