On 4/28/20, Jonathan Purol <cont...@folling.de> wrote: > The last approach seemed rather clever, and it worked pretty well. I > could put widgets into the textfield and align them at the left. First I > tried to do this manually, then I opted for an HBoxLayout.
I don't really understand where you're having trouble. The text margins? I don't see why those should be dynamic. Set them to a low number (or zero) and be done with it. This is how I'd implement your Tag Text Field: //pseudo-code (also it's static, not dynamic: just showing the end resulting layout): class TagTextField : public QWidget { Q_OBJECT public: TagTextField(QWidget *parent) : QWidget(parent) { QHBoxLayout *myLayout = new QHBoxLayout(); myLayout->addWidget(new TagWidget("Some Tag"), 0, Qt::AlignLeft); myLayout->addWidget(new TagWidget("Another Tag"), 0, Qt::AlignLeft); myLayout->AddWidget(new QLineEdit(), 1, Qt::AlignRight); //the 1 here means stretch setLayout(myLayout); } }; class TagWidget : public QWidget { Q_OBJECT public: TagWidget(const QString &tag, QWidget *parent = nullptr) : QWidget(parent) { QHBoxLayout *myLayout = new QHBoxLayout(); myLayout->addWidget(new QLabel(tag), 0 /*you might want to use 1 here for stretch*/, Qt::AlignLeft); myLayout->addWidget(new QPushButton("x"), 0, Qt::AlignRight); setLayout(myLayout); } }; d3fault _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest