C++ 子类widget以在其中插入其他widget

C++ 子类widget以在其中插入其他widget,c++,qt,subclass,C++,Qt,Subclass,是否可以将小部件子类化为QTextBrowser,这样我就可以插入另一个小部件,可能如下所示: SubClassedTextBrowser *tb = new SubClassedTextBrowser(); this->layout().addWidget(tb); tb->addWidget(new QPushButton("Push me")); 我知道如何子类化QTextBrowser来编辑或添加方法,但在这种特殊情况下,我遇到了麻烦 我不希望有一个垂直布局的窗口,我首先添

是否可以将小部件子类化为
QTextBrowser
,这样我就可以插入另一个小部件,可能如下所示:

SubClassedTextBrowser *tb = new SubClassedTextBrowser();
this->layout().addWidget(tb);
tb->addWidget(new QPushButton("Push me"));
我知道如何子类化
QTextBrowser
来编辑或添加方法,但在这种特殊情况下,我遇到了麻烦


我不希望有一个垂直布局的窗口,我首先添加一个文本浏览器,然后在它后面(后面)添加一个按钮。我的目标是将小部件添加到textBrowser本身,这样我就可以在按下按钮之前和之后将文本写入textBrowser,并能够一次选择所有文本。因为如果我在按钮后面有第二个文本浏览器(在垂直布局中总共有3个小部件),我将无法一次选择所有文本。这就是为什么我只想使用一个文本浏览器,但不知何故要将小部件添加到其中。标准Qt是否可以实现这一点?

是的,只需创建一个名为“CustomTextBrowserContainer”的父窗口小部件

然后你必须写你自己的“代码”来表示“Buttons”之类的东西 比如说

接下来,必须将paintEvent添加到CustomTextBrowser


最后,在paintEvent中,您解析浏览器的内容,并为每个内容替换为与按钮大小相等的空白,然后手动绘制一个按钮。

我不明白。是否要拆分文本浏览器,以便中间有小部件?你能发布一个你想要达到的目的的屏幕截图吗?@thuga他想要一种方法,可以直接在文本中插入小部件。我建议对它使用
QWebView
,并生成带有按钮的html。缺点:没有简单的方法来与这个按钮交互。好吧,看来不费吹灰之力是不可能的。按钮本身只是我的自定义小部件的占位符示例。因此,我将使用不止一个文本浏览器,并尝试找到另一个能够选择所有文本的解决方案。