无法在 QSplitter 中交换小部件
我有一个带有两个小部件的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题解决了。在 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.