我好像有点问题。目标:我想要动态地将QTextEdit添加到一个QMainWindow中,我有很多数据希望在不同的QTextEdit对象之间拆分。我一直在研究centralWidget,并深入研究了Qt Creator生成的ui->setupUi(this);,发现感兴趣对象的父对象是QMainWindow的中心小部件。因此,我尝试了下面这样的方法:
this->m_vecTextEdits.push_back( new QTextEdit(this->centralWidget()) );其中'this‘是QMainWindow。我只想将这些QTextEdit添加到QMainWindow中,然后删除它们。我也尝试过new QTextEdit(this),希望它能出现在QMainWindow上,带有由对象几何定义的属性,但不走运。
如果我将setCentralWidget设置为QTextEdit的QMainWindow,那么它就会工作,但我不希望对象消耗整个widgets并限制对现有小部件的访问。
因此,我需要的建议,基本上我可以添加QTextEdit窗口小部件到现有的QMainWindow的centralWidget,并让他们出现在窗口中,也删除。
发布于 2011-09-05 02:39:13
我想添加多个索引,这样我就可以使用驻留的索引( QListWidget属性)在许多QTextEdit小部件之间切换
您可以在QTextEdit的位置放置一个QStackedWidget,并将所有的QTextEdit都添加到其中。
只有一个文本QTextEdit在任何时候都是可见的,但您可以通过将QListWidget的信号setCurrentIndex(int)连接到插槽QTextEdit来自动在它们之间切换,以便使list的索引与列表中所选项目的索引保持相同。
QStackedWidget也将取代您的容器m_vecTextEdits。
发布于 2011-09-04 23:41:30
仅仅创建小部件对象是不够的,还需要将它们添加到布局对象中。尝试如下所示:
QBoxLayout * bl = new QBoxLayout(centralWidget());
QTextEdit * t = new QTextEdit;
bl->addWidget(t);https://stackoverflow.com/questions/7300027
复制相似问题