Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
 Аватар для dev.nikor
29 / 30 / 3
Регистрация: 26.07.2010
Сообщений: 297

Не работает слот в Qt

31.10.2013, 19:48. Показов 2664. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Пытаюсь поставить обработчик события на кнопку, но он почему-то не работает. В консоли вывода приложения пишет: QObject::connect: No such slot QDialog::okButtonPressed()

Вот код:
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
class BooksEditDialog : public QDialog {
public:
    BooksEditDialog(Books *bk);
    QString getName_book() const;
    QString getName_author() const;
    QString getGenre() const;
    QString getPublisher() const;
    int getYear() const;
    int getPage() const;
    double getPrice() const;
    void setBooks(Books *bk);
    void setValidator(QRegExpValidator *nameValidator);
private:
    void createComboBox();
    void createWidgets();
    void connectSlots();
    void placeWidgets();
    void initValidation();
    QDialogButtonBox *buttons;
    QLineEdit *name_bookEdit;
    QLineEdit *name_authorEdit;
    QComboBox *genreEdit;
    QLineEdit *publisherEdit;
    QSpinBox *yearEdit;
    QSpinBox *pageEdit;
    QDoubleSpinBox *priceEdit;
public slots:
    void okButtonPressed();
};
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void BooksEditDialog::okButtonPressed() {
QString str = name_authorEdit->text();
int p = 0;
if (name_authorEdit->validator()->validate(str, p) != QValidator::Acceptable) {
   QMessageBox::critical(this, "Name is not complete!",
   "The name of organization consists of letters, numbers, spaces, +, -!!!\n "
   "Name begins with an uppercase letter");
   name_authorEdit->setFocus();
   return;
}
accept();
}
void BooksEditDialog::connectSlots() {
    connect(buttons, SIGNAL(accepted()), this, SLOT(okButtonPressed()));
    connect(buttons, SIGNAL(rejected()), this, SLOT(reject()));
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2013, 19:48
Ответы с готовыми решениями:

Так работает или не работает второй слот для оперативной памяти
Моему компьютеру уже больше 7-ми лет, купили мне его в сентября 2005 года. На то время очень даже неплохие характеристики: Процессор:...

Не работает 3 и 4 слот ОП
Доброго времени суток. При сборке компьютера обнаружилось, что 3 и 4 слоты памяти не работают. Если вставить ОП в 1 и 2 слот - будет...

Не работает слот
Материнская плата ASUS P8B75-M LX PLUS Вопрос, у меня на данной материнской плате 2 слота под оперативку. Назовем их так: ...

3
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
31.10.2013, 20:14
Цитата Сообщение от dev.nikor Посмотреть сообщение
class BooksEditDialog : public QDialog {
public:
сразу после
C++ (Qt)
1
class BooksEditDialog : public QDialog {
надо писать Q_OBJECT если есть намерение использовать слот-сигнальные соединения, читайте документацию
0
 Аватар для dev.nikor
29 / 30 / 3
Регистрация: 26.07.2010
Сообщений: 297
31.10.2013, 20:18  [ТС]
Кудаив, не помогло, посыпались ошибки:
Code
1
2
3
4
5
C:\Users\user\books\bookseditdialog.cpp:3: ошибка: undefined reference to `vtable for BooksEditDialog'
 
C:\Users\user\books\bookseditdialog.cpp:3: ошибка: undefined reference to `vtable for BooksEditDialog'
 
collect2.exe:-1: ошибка: error: ld returned 1 exit status
0
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
31.10.2013, 20:21
очистить проект, запустить qmake, собрать
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2013, 20:21
Помогаю со студенческими работами здесь

Не работает 2 слот
Здравствуйте, проблема часта и банальна, но однако точного решения нету. Такой трабл, Разбирал комп, собрал обратно и на тебе, не хотит...

Не работает 3 и 4 слот ОП
докупил 2 планку озу поставил запускаю и уменя на материнке Tomahawk max b450 горин cpu и все. Вобще методом перестановок я понял не...

Не работает слот памяти!
Здравствуйте уважаемые форумчане! Сегодня купил планку памяти на 4гб от фирмы Corsair. До этого была одна планка на 4 гб от Crucial....

Не работает слот ОЗУ
Здравствуйте! Сегодня купил вторую планку памяти, вставил в свободный слот - в итоге система не стартует, только крутятся кулеры, даже БИОС...

Не работает слот ddr2
Всем привет подскажите в чем может быть проблема решил обновить железо и купил с рук мат плату g31m-s и проц q6600 вставил 2 планки ddr2...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru