Невозможно инициализировать параметр типа QMainWindow: ошибка ui->setupUi(this)
Что не так, помогите исправить ошибку
#include "TaskDialog.h"
#include "ui_TaskDialog.h"
TaskDialog::TaskDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::TaskDialog) {
ui->setupUi(this);
}
TaskDialog::~TaskDialog() {
delete ui;
}
Task TaskDialog::getTask() const {
Task task;
task.title = ui->titleEdit->text();
task.description = ui->descriptionEdit->toPlainText();
task.dueDate = ui->dueDateEdit->date();
task.priority = ui->priorityComboBox->currentIndex();
task.status = ui->statusCheckBox->isChecked();
return task;
}
void TaskDialog::setTask(const Task &task) {
ui->titleEdit->setText(task.title);
ui->descriptionEdit->setPlainText(task.description);
ui->dueDateEdit->setDate(task.dueDate);
ui->priorityComboBox->setCurrentIndex(task.priority);
ui->statusCheckBox->setChecked(task.status);
}
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TaskDialog</class>
<widget class="QMainWindow" name="TaskDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>TaskDialog</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QDateEdit" name="dueDateEdit">
<property name="geometry">
<rect>
<x>410</x>
<y>40</y>
<width>110</width>
<height>27</height>
</rect>
</property>
</widget>
<widget class="QCheckBox" name="statusCheckBox">
<property name="geometry">
<rect>
<x>420</x>
<y>90</y>
<width>92</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>CheckBox</string>
</property>
</widget>
<widget class="QComboBox" name="priorityComboBox">
<property name="geometry">
<rect>
<x>320</x>
<y>180</y>
<width>86</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="titleEdit">
<property name="geometry">
<rect>
<x>160</x>
<y>70</y>
<width>113</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QTextEdit" name="descriptionEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>180</y>
<width>104</width>
<height>70</height>
</rect>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>23</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
Ответы (1 шт):
Автор решения: Matvj
→ Ссылка
Проблема в том, что файл ui ожидает QMainWindow, но ваш код C++ определяет QDialog. Выберите одно и исправьте другое.