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 );
相关推荐
mahailiang4 天前
codeblocks+wxWidgets Projects中引用第三方库(sqlite3)
数据库·sqlite·wxwidgets·codeblocks
●VON5 天前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
南岩亦凛汀8 天前
快速上手Ultimate++的编译链接和配置
c++·gui·开源框架
一只小bit9 天前
Qt 绘图核心教程:从基础绘制到图像操作全解析
前端·c++·qt·gui
kirk_wang10 天前
Flutter video_thumbnail库在鸿蒙(OpenHarmony)端的完整适配实践
flutter·移动开发·跨平台·arkts·鸿蒙
●VON11 天前
Flutter for OpenHarmony:基于可扩展标签系统与对话框状态隔离的 TodoList 个性化分类体系实现
学习·flutter·架构·跨平台·von
●VON12 天前
Flutter for OpenHarmony:基于原子清空与用户意图防护的 TodoList 批量删除子系统实现
学习·flutter·架构·跨平台·von
●VON12 天前
面向 OpenHarmony 的 Flutter 应用实战:TodoList 多条件过滤系统的状态管理与性能优化
学习·flutter·架构·跨平台·von
●VON13 天前
Flutter 与 OpenHarmony 技术选型分析:为何构建待办事项应用选择此组合?
学习·flutter·跨平台·von
RFCEO14 天前
HTML编程 课程五、:HTML5 新增语义化标签
前端·html·html5·跨平台·语义化标签·可生成安卓/ios·html最新版本