gpt4 book ai didi

c++ - 将参数传递给 qt5 c++ 中的插槽

转载 作者:行者123 更新时间:2023-11-30 02:29:52 25 4
gpt4 key购买 nike

<分区>

我正在用 c++ qt 创建一个 ToDo 列表应用程序。当按下加号按钮时,它会将包含 QLabel 和 QToolButton 的 QHBoxLayout 添加到我的 gui 内的垂直布局中,因此我得到了带有“ToDos”的新框,以及用于在它们旁边删除它们的按钮。我已经在我的插槽中设置了各种小部件,单击添加按钮时会调用这些小部件。但是,我需要将它们作为参数传递给按下删除按钮时调用的插槽。我已经研究过了,我发现的只是 QSignalMapper。然而,我找不到任何足够接近我的案例来复制,而且我读过它只适用于某些参数,而不是我需要的三个(QHBoxLayout、QLineEdit 和 QToolButton)。按下“添加”按钮时调用的插槽的一些代码是:

//Creates a read only LineEdit which the user will add
QLineEdit *toDoBox = new QLineEdit(this);
toDoBox->setText(ui->lineEdit->text());
toDoBox->setReadOnly(true);

//Creates a new X button for removal of ToDo's
QToolButton *removeButton = new QToolButton;
removeButton->setText("X");

//Adds a horizontal layout with the ToDo and the remove button in it, to keep them together
QHBoxLayout *toDoLayout = new QHBoxLayout;
toDoLayout->addWidget(toDoBox);
toDoLayout->addWidget(removeButton);

//Removes a ToDo when the remove button is clicked
connect(removeButton, SIGNAL(clicked()), this, SLOT(on_removeButton_clicked()));

如果您想查看整个项目,我的代码托管在 GitHub 上: https://github.com/DanWilkes02/ToDoList

感谢您的包容——我很难解释我头脑中如此清晰的事情!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com