Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.05.2023
Сообщений: 13
1

Ошибка "class has no member named" в qt qreator

18.06.2024, 10:45. Показов 1228. Ответов 3

Author24 — интернет-сервис помощи студентам
Пишу курсовую для универа. Приложение в QT Creator для учёта электрооборудования. При компиляции выпадает 36 ошибок, почти все в файте "MainWindow.cpp". Ошибки - "class UI::MainWindow has no member named tableView, actionSave,actionDelete,.. ....." итд. Спасибо, если кто поможет разобраться.
Пример куска кода с ошибками (из MainWindow.cpp):

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void MainWindow::setupMenuBar() {
    ui->actionSave->setEnabled(false);
    ui->actionSave_As->setEnabled(false);
    ui->actionAdd->setEnabled(false);
    ui->actionDelete->setEnabled(false);
    ui->tableView->setEnabled(false);
    ui->lineEdit->setEnabled(false);
}
 
 
void MainWindow::updateActtions(){
    ui->actionSave->setEnabled(true);
    ui->actionSave_As->setEnabled(true);
    ui->actionAdd->setEnabled(true);
    ui->actionDelete->setEnabled(true);
    ui->tableView->setEnabled(true);
    ui->lineEdit->setEnabled(true);
}
Заголовочный файл "MainWindow.h" выглядит так:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QTableView>
#include <QLineEdit>
#include <QTranslator>
#include "ui_mainwindow.h"
#include <QLocale>
#include <QActionGroup>
#include "model.h"
#include "controller.h"
 
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
 
class QActionGroup;
class QLabel;
 
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
 
    MainWindow(QWidget *parent = nullptr);
 
 
    ~MainWindow();
 
protected:
 
    void closeEvent(QCloseEvent *event) override;
 
private slots:
 
    void onCellClicked(const QModelIndex &index);
 
 
    void onSearch(const QString &text);
 
 
    void onColumnHeaderClicked(int column);
 
 
    void on_actionAbout_dev_triggered();
 
 
    void on_actionAbout_Qt_triggered();
 
 
    void on_actionAdd_triggered();
 
 
    void on_actionDelete_triggered();
 
 
    void on_actionSave_As_triggered();
 
 
    void on_actionSave_triggered();
 
 
    void on_actionNew_triggered();
 
 
    void on_actionOpen_triggered();
 
private:
    Ui::MainWindow *ui;
    void setupMenuBar();
    void setupTableView();
    void setupSearchBar();
    void createLanguageMenu();
    void switchLanguage(QAction *action);
    void retranslateUi();
    void showContextMenu(const QPoint &pos);
    void getSettings();
    void setSettings();
    void updateActtions();
 
    QLineEdit *m_searchBar;
    Model *m_model;
    Controller *m_controller;
    int selectedrow = -1;
    int m_currentSearchColumn;
    int numfile = 0;
    QString filename;
    QMenu *languageMenu;
    QTranslator appTranslator;
    QTranslator qtTranslator;
    QActionGroup *languageActionGroup;
    QString qmPath;
    QString currentLocale;
};
 
#endif MAINWINDOW_H
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2024, 10:45
Ответы с готовыми решениями:

Widgets, ошибка: 'class Ui::MainWindow' has no member named <...>
Добрый день! Пишу приложение QtWidgets и столкнулся со следующей проблемой: C:\Qt_programmes\laba4\mainwindow.cpp:21: ошибка:...

Ошибка: 'class Ui::FloorSelectionDialogClass' has no member named "cbxFloor17"
Почему выводится ошибка такого рода. В формах данный объект есть. Я его добавлял через &quot;Дизайн&quot;. Данная часть кода: ...

Ошибка no member named
Ошибка no member named 'Size_lineEdit' in 'Ui::MainWindow'. Прилагаю код: #include &quot;ui_mainwindow.h&quot; #include...

3
фрилансер
 Аватар для Алексей1153
6327 / 5458 / 1108
Регистрация: 11.10.2019
Сообщений: 14,518
18.06.2024, 11:21 2
Цитата Сообщение от naitrejg Посмотреть сообщение
Пишу курсовую для универа. Приложение в QT Creator для учёта электрооборудования. При компиляции выпадает 36 ошибок
в какой момент появились ошибки?
Можно откатить версию на предыдущую да выяснить.
Надеюсь, GIT используется

Добавлено через 39 секунд
Цитата Сообщение от naitrejg Посмотреть сообщение
Пример куска кода с ошибками
это вряд ли поможет. Лучше проект в ZIP архиве прицепить
0
0 / 0 / 0
Регистрация: 05.05.2023
Сообщений: 13
18.06.2024, 12:03  [ТС] 3
Спасибо. Прикрепил проект к сообщению.
Вложения
Тип файла: rar cw-electrical.rar (1.29 Мб, 7 просмотров)
0
фрилансер
 Аватар для Алексей1153
6327 / 5458 / 1108
Регистрация: 11.10.2019
Сообщений: 14,518
19.06.2024, 08:06 4
naitrejg, это же не ZIP
и папку с промежуточными файлами тоже не нужно туда класть

есть в проекте ошибочные директивы препроцессора
C++
1
2
#endif MAINWINDOW_H
#endif MODEL_H
нужно исправить на
C++
1
2
#endif //MAINWINDOW_H
#endif //MODEL_H
затем,
в файле controller.cpp и mainwindow.cpp не хватает заголовка #include <QDebug>

в строке
C++
1
Device device(fields[0], fields[1], fields[2], fields[3], fields[4], fields[5]), fields[6].toInt(), fields[7].toFloat());
лишняя круглая скобка fields[5])

ну и то, что никто, кроме автора не исправит:
в файле формы mainwindow.ui нет нужных контролов/событий
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2024, 08:06
Помогаю со студенческими работами здесь

Ошибка E2333: Class member declared outside its class
Доброго времени суток,подскажите в чём дело? //--------------------------------------------------------------------------- #include...

Request for member which is of non-class type c++ ошибка
#ifndef MAP_H #define MAP_H template &lt;typename T1, typename T2&gt; class Map { T1 *key; T2 *data; public:

Не стандартное поведение стандартного компонента (Ошибка: A class named already exists)
Доброго времени суток! Понадобилось мне немного расширить возможности у RadioButton, а именно запретить обработку OnClick. В прошлом уже...

ошибка CS1519 unexpected symbol 0.2 in class, stuct or interface member declaration
Насцене 2 объекта, один terrain другой претащенный из Project assets авто. Ставлю на авто этот скрипт, выдает ошибку CS1519 unexpected...

Ошибка "has no member named"
Пишу программу, при компиляции выдаёт ошибку. #include &lt;iostream&gt; #include &lt;list&gt; #include &lt;fstream&gt; #include &lt;iterator&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru