add_task=new QPushButton(this);//添加任務 add_task->setText("添加任務"); add_task->setGeometry((N+2)*nodeside+360,440,90,40); add_task->setEnabled(true);點擊按鈕以後,會出現一個小窗口
时间: 2024-04-07 14:33:43 浏览: 99
QPushButton使用例子
3星 · 编辑精心推荐
在点击"添加任务"按钮后,出现一个小窗口,可以按照以下步骤进行实现:
1. 在点击事件的槽函数中,创建一个新的窗口对象,例如`QDialog`的子类。
```cpp
void YourClass::onAddTaskClicked()
{
// 创建一个新的窗口对象
QDialog* newWindow = new QDialog(this);
newWindow->setWindowTitle("添加任务"); // 设置窗口标题
// 设置窗口的大小和位置
newWindow->setGeometry(400, 200, 300, 200);
// 显示窗口
newWindow->exec();
}
```
2. 在新窗口中添加需要的控件,例如输入框、下拉列表等。
```cpp
void YourClass::onAddTaskClicked()
{
QDialog* newWindow = new QDialog(this);
newWindow->setWindowTitle("添加任务");
newWindow->setGeometry(400, 200, 300, 200);
QLabel* nameLabel = new QLabel("任务名称:", newWindow);
QLineEdit* nameLineEdit = new QLineEdit(newWindow);
QLabel* descLabel = new QLabel("任务描述:", newWindow);
QTextEdit* descTextEdit = new QTextEdit(newWindow);
QPushButton* confirmButton = new QPushButton("确认", newWindow);
// 设置控件的位置和大小
nameLabel->setGeometry(20, 20, 80, 30);
nameLineEdit->setGeometry(120, 20, 160, 30);
descLabel->setGeometry(20, 60, 80, 30);
descTextEdit->setGeometry(120, 60, 160, 80);
confirmButton->setGeometry(120, 150, 80, 30);
// 连接确认按钮的点击事件到槽函数
connect(confirmButton, &QPushButton::clicked, this, &YourClass::onConfirmClicked);
newWindow->exec();
}
```
3. 实现确认按钮的点击事件槽函数,用于处理用户输入的任务信息,并执行添加任务的操作。
```cpp
void YourClass::onConfirmClicked()
{
// 获取用户输入的任务信息
QString taskName = nameLineEdit->text();
QString taskDesc = descTextEdit->toPlainText();
// 执行添加任务的操作,例如创建任务对象并添加到任务列表中
Task newTask(taskName, taskDesc);
taskList.append(newTask);
// 关闭窗口
QDialog* dialog = qobject_cast<QDialog*>(sender()->parent());
if (dialog)
{
dialog->close();
}
}
```
以上代码中的`YourClass`是你的类名,需要根据实际情况进行修改。在点击确认按钮后,用户输入的任务信息将被获取,并执行相应的添加任务操作。你可以根据需要自定义任务类和任务列表的实现。
阅读全文