关于使用 QTabWidget 'addTab' 的快速问题功能

发布于 2024-11-20 00:30:23 字数 384 浏览 5 评论 0原文

希望这是一个非常快速的问题。在我的一个函数中,我想在运行时为 QTabWidget 生成“x”个选项卡(“x”由用户提供)。我知道我必须使用 QTabWidget 的 addTab 函数(如果我错了,请纠正我),但我不确定应该如何使用它。 qt 文档对我来说不清楚。

我尝试使用以下命令仅添加 1 个选项卡作为测试,但它导致程序崩溃:

ui->checkBoxTabArea->addTab(ui->checkBoxTabArea,"tab2");

由于我显然错了,有人可以帮助我使用此功能吗?我觉得我只是向 addTab 传递了错误的参数。

编辑:程序启动时,checkBoxTabArea 已经有 1 个选项卡(如果这有帮助的话)。

Hopefully a very quick question. In one of my functions I want to generate an 'x' number of tabs for a QTabWidget during run-time ('x' provided by user). I know I have to use the addTab function for the QTabWidget (correct me if I'm wrong), but I am unsure as to how I am supposed to use it. The qt documentation was unclear to me.

I have tried the following command to add only 1 tab as a test, but it caused the program to crash:

ui->checkBoxTabArea->addTab(ui->checkBoxTabArea,"tab2");

Since I am obviously wrong, can somebody help me use this function? I feel like I am just passing the wrong arguments to addTab.

Edit: checkBoxTabArea already has 1 tab when the program starts up (if this is any help).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Saygoodbye 2024-11-27 00:30:23

如果您查看文档,addTab 函数会这样说:

int QTabWidget::addTab ( QWidget * page, const QString & label )

将具有给定页面和标签的选项卡添加到选项卡小部件,并且
返回选项卡栏中选项卡的索引。

因此,您传递的参数不应该是您想要添加选项卡的 TabWidget,而应该是您想要添加为选项卡的小部件。

您应该做的是:

QLabel *myLabel = new QLabel("Hello World", this);
ui->checkBoxTabArea->addTab(myLabel, "My Label Tab");

这将向选项卡小部件添加一个选项卡,其中包含 myLabel。

If you take a look at the documentation, the addTab function says this :

int QTabWidget::addTab ( QWidget * page, const QString & label )

Adds a tab with the given page and label to the tab widget, and
returns the index of the tab in the tab bar.

So the argument you pass should not be the TabWidget you want to add the tab to, rather it should be the widget you want to add as the tab.

What you should do is something like :

QLabel *myLabel = new QLabel("Hello World", this);
ui->checkBoxTabArea->addTab(myLabel, "My Label Tab");

This will add a single tab to the tab widget, which contains myLabel.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文