Grundlegendes: globale variablen, funktionen, projekte...
Verfasst: 12. November 2014 15:16
Hi!
ich war vor einiger Zeit mal recht firm mit php (ohne OOP). Nach langejähriger Programmierpause entschied ich mich nun für QT/C++. Ich bin also neu bei C++/QT.
Ich verstehe nicht ganz wie ich mit Funktionen oder globalen Variablen umgehen soll.
Ich deklariere zB. in der mainwindow.h:
somit weise ich die entsprechenden Funktionen wohl der Klasse MainWindow zu.
Die mainwindow.cpp:
Was muss ich tun damit die Variable "db" überall deklariert ist, nicht überladen wird und quasi die DB Connection von überall aus abrufbar ist?
ich war vor einiger Zeit mal recht firm mit php (ohne OOP). Nach langejähriger Programmierpause entschied ich mich nun für QT/C++. Ich bin also neu bei C++/QT.
Ich verstehe nicht ganz wie ich mit Funktionen oder globalen Variablen umgehen soll.
Ich deklariere zB. in der mainwindow.h:
Code: Alles auswählen
class MainWindow : public QMainWindow
{
Q_OBJECT
[...]
private:
Ui::MainWindow *ui;
int connect2DB();
int reloadInterface();
void loadCombo();
Die mainwindow.cpp:
Code: Alles auswählen
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // globale variable
int MainWindow::connect2DB()
{
db.setHostName("localhost");
db.setDatabaseName("db");
db.setUserName("usr");
db.setPassword("pass");;
[..]
}
void MainWindow::loadCombo()
{
connect2DB();
QSqlQuery query("SELCT id, name FROM tbl");
if(db.open)
{
while(query.next())
{
ui->ComboVerbe->addItem(query.value(0).toString() + ".- " + query.value(1).toString());
}
}
else
{
ui->lblSqlMsgs->setText("query execution failed");
ui->lblSqlMsgs->setStyleSheet("color:#FF0000;");
}
}