Добрый день.
Проблема - не знаю, как удержать в фокусе окно так, чтобы при создании нового, старое оставалось активным.
#include <QtWidgets>
#include "counter.h"
void Counter::setValue(const QString & value)
{
if (value == "a") {
QWidget* wgt2 = new QWidget;
QLabel* plblDisplay2 = new QLabel("Text2:");
Counter* pDisplay2 = new Counter;
plblDisplay2->setBuddy(pDisplay2);
QVBoxLayout* pvbxLayout2 = new QVBoxLayout;
pvbxLayout2->addWidget(plblDisplay2);
pvbxLayout2->addWidget(pDisplay2);
wgt2->setLayout(pvbxLayout2);
wgt2->setAttribute(Qt::WA_DeleteOnClose);
wgt2->show();
}
}
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QWidget* wgt = new QWidget;
QLabel* plblText = new QLabel("Text:");
Counter* ptxt = new Counter;
plblText->setBuddy(ptxt);
QObject::connect(ptxt, SIGNAL(textChanged(const QString&)),
ptxt, SLOT(setValue(const QString&))
);
//Layout setup
QVBoxLayout* pvbxLayout = new QVBoxLayout;
pvbxLayout->addWidget(plblText);
pvbxLayout->addWidget(ptxt);
wgt->setLayout(pvbxLayout);
wgt->setWindowFlags(wgt->windowFlags() | Qt::WindowStaysOnTopHint);
wgt->setAttribute(Qt::WA_DeleteOnClose);
wgt->show();
return app.exec();
}