Witam.
Piszę prosta aplikację w Qt. Stworzyłem główne okno w QtDesignerze i nie wiem co dalej. Jak mam zacząć je oprogramowywać?
Wystarczy że otworzę je w QtCreatorze? Czy trzeba coś więcej?
Proszę o pomoc ludzi, którzy coś w Qt umieją :)
Dziękuję wszystkim i pozdrawiam.
jeśli używasz QtCreatora to nie potrzebujesz QtDesignera.
Pewnie to głupie pytanie, ale czym różni się QTCreator od QTDesignera? O_o
Qt Creator to pełne IDE ze zintegrowanym designerem formularzy, Qt Designer to sam designer.
Qt Designera używa się jeśli używasz innego IDE niż Qt Creator, np. Visual Studio.
Dobra panowie udało mi się to moje okno wraz z toolboxem włączyć do projektu.
Chciałem jednak dodać canvę, na której będę rysował gradient i zasłania mi ona toolbox'a.
Co mam zrobić? Główne okno mam klasy QMainWindow i tam mam QWidget o nazwie central widget - chyba standardowo.
i teraz próbuję dodać do tego centralwidgetu moją canvę (utworzoną w kodzie), ale też nie wiem jak to zrobić. Nie mogę użyć addWidget bo błąd wywala.
Jak dodałem nowy gridlayout i do niego canvę to mi zasłoniła toolboxa jak już wspomniałem.
Pomocy.
Jak chcesz robić własne rysowanie, to powinieneś stworzyć własnego widgeta.
By go dodać do okna tworzonego w Qt Designer, w jego widku:
#Wstawiasz obiekt widget tam, gdzie chcesz mieć twego "canvasa" widgeta
- prawy przycisk myszy na tym widgecie "Zastąp..."
- wpisujesz dane swojego widgeta
- wybiera go i klikasz zastąp
Ta twoja klasa może wyglądać tak:
#ifndef TESTWIDGET_H
#define TESTWIDGET_H
#include <QWidget>
class TestWidget : public QWidget
{
Q_OBJECT
public:
explicit TestWidget(QWidget *parent = 0);
signals:
public slots:
protected:
void paintEvent(QPaintEvent * );
};
#endif // TESTWIDGET_H
//=====================================
#include "testwidget.h"
#include <QPainter>
TestWidget::TestWidget(QWidget *parent) :
QWidget(parent)
{
}
void TestWidget::paintEvent(QPaintEvent *)
{
QPainter p(this);
p.setPen(Qt::red);
QRect r = rect();
p.drawLine(r.topLeft(), r.bottomRight());
p.drawLine(r.topRight(), r.bottomLeft());
}