Qt の onClick 処理に少し混乱しています。次のようなクラスがあります。
class DatabaseManager : public QObject
{
Q_OBJECT;
private:
QSqlDatabase db;
public slots:
bool openDB(const QString& path);
};
そして、ボタンのクリックを処理するクラスがあります:
Click::Click(QWidget *parent) : QWidget(parent){
QPushButton *create = new QPushButton("Create database", this);
create->setGeometry(50,100,100,100);
connect(create, SIGNAL(clicked()), this, SLOT(openDB("/home/peter/database.db")));
}
main.cpp
int main(int argc,char **argv){
QApplication *app = new QApplication(argc, argv);
QPushButton btn;
DatabaseManager db;
btn.move(300,300);
btn.resize(250,250);
btn.setWindowTitle("Dibli");
btn.show();
return app->exec();
}
特定の DatabaseManager オブジェクトの openDB 関数を使用したいことを、クリック ハンドラーにどのように伝えることができますか? クリックしてもファイルが作成されないためです。
コードを更新しました。