当您使用ui->setupUi(this)
时,我可以假设您是在使用Qt Designer来设计界面。以下是一种实现列表控件的方式:
#include <QtWidgets>
class CurrRunProgram : public QWidget {
Q_OBJECT
public:
explicit CurrRunProgram(QWidget *parent = nullptr);
private:
QListWidget *listWidget;
};
CurrRunProgram::CurrRunProgram(QWidget *parent) :
QWidget(parent)
{
QVBoxLayout *layout = new QVBoxLayout(this);
listWidget = new QListWidget(this);
layout->addWidget(listWidget);
// 添加列表项
for (int i = 0; i < 5; ++i) {
QWidget *itemWidget = new QWidget();
QHBoxLayout *itemLayout = new QHBoxLayout(itemWidget);
QLineEdit *lineEdit = new QLineEdit(itemWidget); // 文本框
QPushButton *button = new QPushButton("Button", itemWidget); // 按钮
itemLayout->addWidget(lineEdit);
itemLayout->addWidget(button);
itemWidget->setLayout(itemLayout);
QListWidgetItem* listItem = new QListWidgetItem(listWidget);
listItem->setSizeHint(itemWidget->sizeHint());
listWidget->setItemWidget(listItem, itemWidget);
}
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
CurrRunProgram window;
window.show();
return app.exec();
}
这个例子中,我们使用了QVBoxLayout
作为主布局,并在其中添加了一个QListWiget
作为列表控件。然后,通过循环创建每个列表项,每个列表项都包含一个文本框(QLineEdit
)和一个按钮(QPushButton
)。将这些控件放置在一个QWidget
内,并将该QWidget
设置为列表项的视图部件(QListWidgetItem
)。通过调用setSizeHint()
方法,我们确保列表项根据其内容自动调整大小。
您可以根据需要调整循环次数和按钮文本。请注意,这只是一种实现方式,您可以根据您的需求进行修改和定制。
内容由零声教学AI助手提供,问题来源于学员提问