是否有可能像QTextBrowser
那样将小部件子类化,这样我可以以某种方式插入另一个小部件,也许是这样:
SubClassedTextBrowser *tb = new SubClassedTextBrowser();
this->layout().addWidget(tb);
tb->addWidget(new QPushButton("Push me"));
我知道如何将QTextBrowser
子类化以编辑或添加方法,但这个特殊情况我感到磕磕绊绊。
我不希望有一个垂直布局的窗口,我首先添加一个TextBrowser,然后在它后面(在它之后)一个PushButton。我的目标是将小部件添加到textBrowser本身,这样我就可以在PushButton之前和之后将文本写入TextBrowser,并且能够一次选择所有文本。因为如果我在PushButton后面有第二个TextBrowser(在垂直布局中共有3个小部件),我将无法一次选择所有文本。这就是为什么我只想使用一个TextBrowser但是以某种方式将小部件添加到其中的原因。标准Qt可以实现吗?
答案 0 :(得分:1)
是的,只需创建一个名为“CustomTextBrowserContainer”的父窗口小部件,
然后你必须编写自己的“代码”,代表“butttons”之类的东西
让我们说<button>
接下来,您必须将paintEvent添加到CustomTextBrowser
最后,在paintEvent中,您解析浏览器的内容,并为每个内容替换为等效于按钮大小的空格,然后手动绘制一个按钮。