嗨,我正在使用wxWidgets,并希望在wxNotebook中将标签集中。选项卡按钮的默认位置是左(屏幕截图附后)。也就是说,它们对齐了窗口的左边。如何使选项卡按钮位于屏幕的中心?在屏幕截图中,显示了两个选项卡按钮/控件,它们与左对齐。我尝试在wxBM_RIGHT构造函数中将样式设置为wxNotebook,但这使得选项卡位于右侧。没有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);
}我的第二个问题是有办法给制表符一些空白吗?就像标签应该离窗口的顶部有一段距离一样。

发布于 2021-06-19 16:08:13
@JasonLiam
这两个问题的答案都是:你不能。
支持wxNotebook中的对中制表符,默认情况下只在OSX上完成。
您可以尝试添加一个hidden选项卡,但我怀疑它会帮助解决第二个问题。
哈哈!
https://stackoverflow.com/questions/68045900
复制相似问题