0

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

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);
}

我的第二个问题是有没有办法给标签一些边距?就像标签应该离窗口顶部有一段距离。

左对齐标签

4

1 回答 1

0

@JasonLiam,

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

支持 wxNotebook 中的标签居中,默认情况下仅在 OSX 上完成。

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

于 2021-06-19T16:08:13.880 回答