QLabel* nameLabel1 = new QLabel("任务種類:", newWindow); QComboBox* comboBox1 = new QComboBox(newWindow); nameLabel1->setGeometry(20, 60, 80, 30); comboBox1->setGeometry(120, 60, 160, 30); comboBox1->addItem("物料任務"); comboBox1->addItem("充電任務");, QLabel* nameLabel2 = new QLabel("任务起點:", newWindow); QLineEdit* nameLineEdit2 = new QLineEdit(newWindow); nameLabel2->setGeometry(20, 100, 80, 30); nameLineEdit2->setGeometry(120, 100, 160, 30);加判斷,儅選擇充電任務后,就沒有任務起點了
时间: 2024-04-07 07:33:59 浏览: 91
您可以使用信号槽机制来实现当选择充电任务时,任务起点输入框被禁用的效果。下面是修改后的代码示例:
```cpp
QLabel* nameLabel1 = new QLabel("任务種類:", newWindow);
QComboBox* comboBox1 = new QComboBox(newWindow);
nameLabel1->setGeometry(20, 60, 80, 30);
comboBox1->setGeometry(120, 60, 160, 30);
comboBox1->addItem("物料任務");
comboBox1->addItem("充電任務");
QLabel* nameLabel2 = new QLabel("任务起點:", newWindow);
QLineEdit* nameLineEdit2 = new QLineEdit(newWindow);
nameLabel2->setGeometry(20, 100, 80, 30);
nameLineEdit2->setGeometry(120, 100, 160, 30);
// 连接信号槽
QObject::connect(comboBox1, QOverload<int>::of(&QComboBox::currentIndexChanged), [=](int index){
if(index == 1) { // 当选择充电任务时
nameLineEdit2->setEnabled(false); // 禁用任务起点输入框
} else {
nameLineEdit2->setEnabled(true); // 启用任务起点输入框
}
});
```
这样,当选择充电任务时,任务起点输入框将被禁用;选择其他任务类型时,任务起点输入框将保持可用。您可以根据需要进行相应的调整和修改。
阅读全文