如何在 wxWidgets 中居中 wxNotebook 的标签页

How to Center Tabs of wxNotebook in wxWidgets

您好,我正在使用 wxWidgets 并希望在 wxNotebook 中将选项卡居中。选项卡按钮的默认位置在左侧(附上截图)。也就是说它们在 window 的左边对齐。 如何 使选项卡按钮位于屏幕中央?在屏幕截图中,显示了两个选项卡 buttons/controls,它们向左对齐。我已经尝试通过在 wxNotebook 构造函数中将样式设置为 wxBM_RIGHT 来做到这一点,但这会使选项卡转到右侧。没有wxNB_CENTER,怎么才能让标签贴在屏幕中间呢?那就是标签应该 center/middle 对齐。 示例代码如下:

MyFrame::MyFrame(const wxString &title): wxFrame(NULL, wxID_ANY, title,wxDefaultPosition, wxSize(600,600))
{
wxPanel *mainPanel = new wxPanel(this, wxID_ANY);
wxNotebook *mainNotebook = new wxNotebook(mainPanel, wxID_ANY, wxDefaultPosition, wxSize(200,200),wxNB_RIGHT);/*i want tabs to be centered*/

wxPanel *tab1Panel = new wxPanel(mainNotebook, wxID_ANY);
wxPanel *tab2Panel = new wxPanel(mainNotebook, wxID_ANY);
mainNotebook->AddPage(tab1Panel, "Tab1", true, wxID_ANY);
mainNotebook->AddPage(tab2Panel, "Tab2", false, wxID_ANY);
}

我的第二个问题有没有办法给标签留一些边距?就像标签应该距离 window.

的顶部有一段距离

@JasonLiam,

这两个问题的答案都是:你不能。

支持 wxNotebook 中的居中选项卡,默认情况下仅在 OSX 上完成。

您可以尝试添加一个 hidden 选项卡,但我怀疑它是否有助于解决第二个问题。

HTH!