KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have been struggling for a while with an issue on Qt. Here is my code: hexbutton.h: #ifndef HEXBUTTON_H #define HEXBUTTON_H #include <QPushButton> #include <QWidget> #include <QIcon> class HexButton : public QPushButton { Q_OBJECT public: HexButton(QWidget *parent, QIcon &icon, int i, int j); public slots: void changeIcon(); }; #endif // HEXBUTTON_H Hexbutton.cpp: #include "hexbutton.h" HexButton::HexButton(QWidget *parent, QIcon &icon, int i , int j) : QPushButton(parent){ //setFlat(true); setIcon(icon); setGeometry((i*40)+((j*40)/2), j*40, 40, 40); } void HexButton::changeIcon(){ setIcon(QIcon("/Users/jonathanbibas/Documents/Workspace Qt/Test/hexagon.gif")); } MyWindow.h: #ifndef MYWINDOW_H #define MYWINDOW_H #include <QApplication> #include <QWidget> #include <QPushButton> #include <QLCDNumber> #include <QSlider> #include <QProgressBar> #include "hexbutton.h" class MyWindow : public QWidget { public: MyWindow(); ~MyWindow(); private: HexButton * myButtons[11][11]; }; #endif // MYWINDOW_H MyWindow.cpp: #include "MyWindow.h" #include <QColor> #include <QIcon> MyWindow::MyWindow() : QWidget() { setFixedSize(740, 440); QIcon icon = QIcon("/Users/jonathanbibas/Documents/Workspace Qt/Test/whitehexagon.png"); for(int i =0 ; i < 11 ; i ++){ for(int j =0 ; j < 11 ; j ++){ myButtons[i][j] = new HexButton(this, icon, i, j); QObject::connect(myButtons[i][j], SIGNAL(clicked()), myButtons[i][j], SLOT(changeIcon())); } } } MyWindow::~MyWindow() { delete myButtons; } And finally, Main.cpp: #include <QApplication> #include "MyWindow.h" int main(int argc, char *argv[]) { QApplication app(ar
Tags (comma-separated)
Save Edits
Cancel