У меня есть 3 класса. Я хочу продлить все это на сетевое объединение позже.
Моя проблема:
Я хочу подключить простой qpushbutton ui-> addbutton из класса окна с добавлением слота от databaseclass, но я получаю эту ошибку: p> phis-ошибка: p> phis ruse: p> phis ruse: p> phis ruse: p> phis ruse: p> phis ruse uepressclass, но я получаю ошибку. />
Ошибка: нет функции сопоставления для вызова
'generalControler :: connect (qpushbutton*, const char*, dbmanager*&,
const char*)'
mydb, slot (addentry ());
// нет различий с & mydb или*mydb
Mainwindow (0x13f57988, name = "mainwindow") qpushbutton (0x13f5f3e0, name = "addbutton")
mainwindow (0x13f57988, name = "mainwindow") 0x13f5f3e0 // addButton 'другому классу? Может ли это проблема?#include
#include "generalcontroler.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
generalControler controler;
return a.exec();
}
< /code>
GeneralControler.h
#ifndef GENERALCONTROLER_H
#define GENERALCONTROLER_H
#include
#include "mainwindow.h"
#include "dbmanager.h"
class generalControler : public QObject
{
Q_OBJECT
public:
generalControler();
};
#endif // GENERALCONTROLER_H
< /code>
GeneralControler.cpp
#include "generalcontroler.h"
#include
generalControler::generalControler(){
MainWindow* window = new MainWindow;
window->show();
dbmanager* mydb= new dbmanager("path_to_my_database.db", window);
mydb->addEntry();
qDebug()
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QPushButton* getaddButton();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
< /code>
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){
ui->setupUi(this);
}
QPushButton* MainWindow::getaddButton()
{
return ui->addButton;
}
< /code>
dbmanager.h
#ifndef DBMANAGER_H
#define DBMANAGER_H
#include
#include
#include "mainwindow.h"
class dbmanager: public QObject{
Q_OBJECT
public:
dbmanager(const QString& path);
public slots:
void addEntry();
private:
QSqlDatabase mydatabase;
};
#endif // DBMANAGER_H
< /code>
dbmanager.cpp
#include "dbmanager.h"
dbmanager::dbmanager(const QString& path)
{
mydatabase = QSqlDatabase::addDatabase("QSQLITE");
mydatabase.setDatabaseName(path);
if (!mydatabase.open())
{
qDebug()
Подробнее здесь: https://stackoverflow.com/questions/364 ... er-classes
Как подключить кнопку от класса UI-FILE к слотам от других классов? ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1748831085
Anonymous
У меня есть 3 класса. Я хочу продлить все это на сетевое объединение позже.
Моя проблема:
Я хочу подключить простой qpushbutton ui-> addbutton из класса окна с добавлением слота от databaseclass, но я получаю эту ошибку: p> phis-ошибка: p> phis ruse: p> phis ruse: p> phis ruse: p> phis ruse: p> phis ruse uepressclass, но я получаю ошибку. />
Ошибка: нет функции сопоставления для вызова
'generalControler :: connect (qpushbutton*, const char*, dbmanager*&,
const char*)'
mydb, slot (addentry ());
// нет различий с & mydb или*mydb
Mainwindow (0x13f57988, name = "mainwindow") qpushbutton (0x13f5f3e0, name = "addbutton")
mainwindow (0x13f57988, name = "mainwindow") 0x13f5f3e0 // addButton 'другому классу? Может ли это проблема?#include
#include "generalcontroler.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
generalControler controler;
return a.exec();
}
< /code>
GeneralControler.h
#ifndef GENERALCONTROLER_H
#define GENERALCONTROLER_H
#include
#include "mainwindow.h"
#include "dbmanager.h"
class generalControler : public QObject
{
Q_OBJECT
public:
generalControler();
};
#endif // GENERALCONTROLER_H
< /code>
GeneralControler.cpp
#include "generalcontroler.h"
#include
generalControler::generalControler(){
MainWindow* window = new MainWindow;
window->show();
dbmanager* mydb= new dbmanager("path_to_my_database.db", window);
mydb->addEntry();
qDebug()
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QPushButton* getaddButton();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
< /code>
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){
ui->setupUi(this);
}
QPushButton* MainWindow::getaddButton()
{
return ui->addButton;
}
< /code>
dbmanager.h
#ifndef DBMANAGER_H
#define DBMANAGER_H
#include
#include
#include "mainwindow.h"
class dbmanager: public QObject{
Q_OBJECT
public:
dbmanager(const QString& path);
public slots:
void addEntry();
private:
QSqlDatabase mydatabase;
};
#endif // DBMANAGER_H
< /code>
dbmanager.cpp
#include "dbmanager.h"
dbmanager::dbmanager(const QString& path)
{
mydatabase = QSqlDatabase::addDatabase("QSQLITE");
mydatabase.setDatabaseName(path);
if (!mydatabase.open())
{
qDebug()
Подробнее здесь: [url]https://stackoverflow.com/questions/36480141/how-to-connect-a-button-from-ui-file-class-to-slots-from-other-classes[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия