Einen neuen Dialog öffnen
-
Streifenhörnchen
- Beiträge: 3
- Registriert: 4. Juli 2006 01:55
- Wohnort: Dortmund
Einen neuen Dialog öffnen
Also: ich hab bestimmt schon hundert foren durchsucht und ich hab nix nützliches gefunden, auch in diesem Forum habe ich gesucht und nur einen Thread gefunden der mir nützlich erschien, aber dann hatts doch nicht geklappt.
Mein Problem(da hab ich so viele von) ist dass ich von einer Form durch nen button ne neue Form aufrufen will. Entweder ich bin zu dumm, oder das ist zu kompliziert oder zu simpel dass ich nicht drauf komme.
Vielleicht kann mir ja hier jemand helfen.
Ich habs so gemacht wie http://www.qtforum.de/forum/viewtopic.p ... ton+dialog
stargazer aber das funzt nicht.
Ich verwende Qt 4.1.4 und bin relativ neu in der Sprache C++ und auch in Qt.
Über Antworten und vllt. auch Codebeispiele würde ich mich sehr freuen.
Danke im vorraus.
Streifenhörnchen
Mein Problem(da hab ich so viele von) ist dass ich von einer Form durch nen button ne neue Form aufrufen will. Entweder ich bin zu dumm, oder das ist zu kompliziert oder zu simpel dass ich nicht drauf komme.
Vielleicht kann mir ja hier jemand helfen.
Ich habs so gemacht wie http://www.qtforum.de/forum/viewtopic.p ... ton+dialog
stargazer aber das funzt nicht.
Ich verwende Qt 4.1.4 und bin relativ neu in der Sprache C++ und auch in Qt.
Über Antworten und vllt. auch Codebeispiele würde ich mich sehr freuen.
Danke im vorraus.
Streifenhörnchen
-
Streifenhörnchen
- Beiträge: 3
- Registriert: 4. Juli 2006 01:55
- Wohnort: Dortmund
Du hast nichts gefunden, weil das wirklich trivial ist und wie macman schon sagte in der Dokumentation Beispiele dazu sind.
Ungetesteter Quickhack
MfG, Cedric
Ungetesteter Quickhack
Code: Alles auswählen
class MyForm : public QWidget
{
//...
};
class MyMainWindow : public QMainWindow
{
Q_OBJECT
private:
MyForm* myForm;
QPushButton *button;
public:
MyMainWindow();
};
MyMainWindow::MyMainWindow()
{
myForm = new MyForm;
button = new QPushButton("Neues Formular", this);
connect(button, SIGNAL(clicked()), myForm, SLOT(show()));
}
-
Streifenhörnchen
- Beiträge: 3
- Registriert: 4. Juli 2006 01:55
- Wohnort: Dortmund
So ich hab das nun so versucht und beim compilieren bekomm ich immer diese Fehler:
.objs\main.o:main.cpp:(.text$_ZN6WindowD1Ev[Window::~Window()]+0xb): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowD1Ev[Window::~Window()]+0x17): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowC1Ev[Window::Window()]+0x3a): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowC1Ev[Window::Window()]+0x46): undefined reference to `vtable for Window'
collect2: ld returned 1 exit status
Ich verwende CodeBlocks und compiliere auch mit CodeBlocks. Das mit dem Consolenkram versteh ich nicht so ganz
Hat irgendjemand ne Idee??
Danke, Streif~
.objs\main.o:main.cpp:(.text$_ZN6WindowD1Ev[Window::~Window()]+0xb): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowD1Ev[Window::~Window()]+0x17): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowC1Ev[Window::Window()]+0x3a): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowC1Ev[Window::Window()]+0x46): undefined reference to `vtable for Window'
collect2: ld returned 1 exit status
Ich verwende CodeBlocks und compiliere auch mit CodeBlocks. Das mit dem Consolenkram versteh ich nicht so ganz
Hat irgendjemand ne Idee??
Danke, Streif~
Das sind aber keine Syntax-, eher semantische Fehler woraus Linkerfehler resultieren.Streifenhörnchen hat geschrieben:So ich hab das nun so versucht und beim compilieren bekomm ich immer diese Fehler:
.objs\main.o:main.cpp:(.text$_ZN6WindowD1Ev[Window::~Window()]+0xb): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowD1Ev[Window::~Window()]+0x17): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowC1Ev[Window::Window()]+0x3a): undefined reference to `vtable for Window'
.objs\main.o:main.cpp:(.text$_ZN6WindowC1Ev[Window::Window()]+0x46): undefined reference to `vtable for Window'
collect2: ld returned 1 exit status
Er meldet ein Problem mit der virtuelle Methoden-Tabelle und dem Kon- und Destruktor von Window. Poste doch bitte etwas Code, damit man auch sieht, was du kehrtver machst.
Dabei gibt's da nicht viel zu verstehen. Du bist einfach zu faul, dir die sehr gute Doku durchzulesen.Ich verwende CodeBlocks und compiliere auch mit CodeBlocks. Das mit dem Consolenkram versteh ich nicht so ganz![]()
MfG, Cedric
-
Flachkoepper
- Beiträge: 149
- Registriert: 11. Januar 2005 12:14
- Wohnort: Hannover
Re: Einen neuen Dialog öffnen
Streifenhörnchen hat geschrieben:Also: ich hab bestimmt schon hundert foren durchsucht und ich hab nix nützliches gefunden, auch in diesem Forum habe ich gesucht und nur einen Thread gefunden der mir nützlich erschien, aber dann hatts doch nicht geklappt.
Mein Problem(da hab ich so viele von) ist dass ich von einer Form durch nen button ne neue Form aufrufen will. Entweder ich bin zu dumm, oder das ist zu kompliziert oder zu simpel dass ich nicht drauf komme.
Vielleicht kann mir ja hier jemand helfen.
Ich weiss ... auch ich hatte grosse muhe ein neuen dialog zu oeffnen da die qt4 beispiele fast keins ein richtigen dialog oeffnet .. es sind meistens nicht mal richtige classen da viel in main.cpp geschrieben ist das aus dem konspet bringt...
Ich habe es erst richtig gelernt ( dialoge zu oeffnen ) als ich http://sourceforge.net/projects/monkeystudio/ gefunden habe ... dieses IDE hat eine gute methode um die parent immer auf null zu setzen...
Die template um header e source zu bauen sind super... somit habe ich mir selber ein kleines tool geschrieben um wenigstens die vorlage vom designer zu schreiben ist heute noch dort http://ppk.ciz.ch/qt_c++/qt/res.html einfach die class name reinschreiben die ganz oben ist im designer Dialog und doppelclicken um die vorlage zu bauen...
dann um ein neuen dialog zu oeffnen muss ich nur noch ein slot hinzufuegen mit.
Code: Alles auswählen
void Gui_Main::OpenAbout()
{
Gui_About::self( this )->exec();
}
Code: Alles auswählen
void HTML_Edit::makehrefLink()
{
bool is_selected = html_area->textCursor().hasSelection();
QString sthtml = html_area->textCursor().selectedText();
if (vol_18->isChecked()) {
QString ltext;
if (sthtml.size() < 1) {
sthtml= "Text to link";
}
Href_Gui::self( this )->text_href->setText(sthtml);
Href_Gui::self( this )->exec();
if (Href_Gui::self) {
QStringList data = Href_Gui::_self->GetUserConfig();
if (data.count() > 0) {
/*qDebug() << "### linerr rrr " << QString(data.at(0));
qDebug() << "### linerr rrr " << QString(data.at(1));
qDebug() << "### linerr rrr " << QString(data.at(2));*/
ltext ="<a href=""+QString(data.at(1))+"#target="+QString(data.at(2))+"">"+QString(data.at(0))+"</a>";
QTextDocumentFragment fragment = QTextDocumentFragment::fromHtml(ltext);
html_area->textCursor().insertFragment(fragment);
vol_18->setChecked(false);
}
}
} else {
QTextDocumentFragment fragment = QTextDocumentFragment::fromHtml(sthtml);
html_area->textCursor().insertFragment(fragment);
}
}
Zu zeit existieren bei http://sourceforge.net/ 800 projekten mit QT davon
25 mit qt4 suchwort einfach bei softwaremap den richtigen filter setzen...
ich bin auch dabei mit http://sourceforge.net/projects/qtexcel-xslt/ und
http://sourceforge.net/projects/visual-xsltproc/ nach 3 monaten qt erfahrung...