无法在 QSplitter 中交换小部件

发布于 2024-08-19 03:54:19 字数 625 浏览 6 评论 0原文

我有一个带有两个小部件的 QSplitter。其中一个是静态的,另一个应该在按下按钮时发生变化。但问题是小部件没有改变。

我有一个正在更改的小部件的指针:this->content

要切换到的小部件位于名为 widget 的指针中。

这是我切换 widget 的代码片段:

qDebug() << "before: " << this->content;
this->content = widget;
qDebug() << "after: " << this->content;
this->content->update();
this->content->repaint();

我的调试输出验证了指针指向另一个小部件:

before:  QLineEdit(0x363850)
after:   SCTableView(0x3644c0)

尝试通过调用 update()使其显示>repaint(),没有任何成功。

有什么想法吗?

I have a QSplitter with two widgets. One of them is static, the other one is supposed to change on the press of a button. But the problem is the widget does not change.

I have a pointer for the widget that is changing: this->content

The widget to switch to is in the pointer named widget.

Here's a code snippet where I switch widget:

qDebug() << "before: " << this->content;
this->content = widget;
qDebug() << "after: " << this->content;
this->content->update();
this->content->repaint();

My debug output there verifies that the pointer points to the other widget:

before:  QLineEdit(0x363850)
after:   SCTableView(0x3644c0)

Trying to make it show by calling update() and repaint(), without any success.

Any ideas?

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

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

发布评论

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

评论(1

九公里浅绿 2024-08-26 03:54:19

问题解决了。在 freenode 上的 #qt 中得到了一些人的帮助。谢谢。
切换到新的小部件后,我忘记在 this->content 上调用 setVisible(true) 。

Problem solved. Got help from some people in #qt on freenode. Thanks.
I forgot to call setVisible(true) on this->content after switching to the new widget.

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