this is a simple OOP QT question.
my app consists of main window (QMainWindow) and a table (QTableWidget).
in the main window i have arguments and variables which i would like to pass to the table class, and to access methods in main widnow class from the table class, how should i do it ?
mainwindow.h
class MainWindow : public QMainWindow {
Q_OBJECT
private:
int a;
int b;
Spreadsheet *spreadsheet;
public:
void set_a(int);
void set_b(int);
spreadsheet.h
class Spreadsheet : public QTableWidget {
Q_OBJECT
public:
Spreadsheet(QWidget *parent = 0);
atm i define Spreadsheet like this:
spreadsheet = new Spreadsheet(this);
and i’d like to access set_a() from spreadsheet.cpp…
You can use the
parent()method in theSpreadsheetobject to get a pointer to yourMainWindow.For example,
Of course, the parent object passed to
Spreadsheet‘s constructor should be yourMainWindowinstance for this to work.However, you should seriously consider oscode’s suggestion, since it also points you towards creating a more Qt-like API.