Pregunta

Parece que estoy teniendo un problema. Objetivo: quiero agregar dinámicamente QTextEdit a un QMainWindow, Tengo muchos datos que deseo dividir entre varios QTextEdit objetos. He estado mirando centralWidget e hice algo ui->setupUi(this); generado por el creador QT y vio que el padre para objetos de interés era el widget central del QMainWindow. Así he intentado algo como esto:

this->m_vecTextEdits.push_back( new QTextEdit(this->centralWidget()) );

dónde 'this' es el QMainWindow. Solo quiero agregar estos QTextEdit hacia QMainWindow y luego quítelos. También probé new QTextEdit(this) esperando que aparezca en el QMainWindow con las propiedades definidas por la geometría de los objetos para no tener suerte.

Si yo setCentralWidget ser el de la QTextEdit de lo que funciona, pero no quiero que el objeto consuma todo QMainWindow y restringir el acceso a los widgets existentes.

Así que necesito un consejo de cómo puedo agregar QTextEdit widgets al existente centralWidget del QMainWindow Y haga que aparezcan en la ventana y también eliminen.

¿Fue útil?

Solución

Quería agregar múltiples QTextedit para poder usar un QListWidget de residencia (la propiedad de índice) para cambiar entre muchos widgets QTextedit

Podrías poner un QStackedWidget en lugar de tu QTextEdit, y agregar todo el QTextEdits para eso.
Solo uno de los TextEdits sería visible en todo momento, pero puede cambiar entre ellos automáticamente conectando la señal currentRowChanged(int) de tu QListWidget a la ranura setCurrentIndex(int) para que el índice del QTextEdit Manténgase igual que el índice del elemento seleccionado en su lista.

los QStackedWidget Reemplazará su contenedor m_vectextEdits también.

Otros consejos

No es suficiente simplemente crear los objetos de widget; También debe agregarlos a un objeto de diseño. Prueba algo como:

QBoxLayout * bl = new QBoxLayout(centralWidget());
QTextEdit * t = new QTextEdit;
bl->addWidget(t);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top