QDesigner dialog.ui manuell manipuliert
Verfasst: 14. Juni 2011 13:19
Hallo Foristen,
ich habe in meinem Projekt eine myUI.ui. Diese erzeugt ein MyUi.h. Das HBoxLayout und das Button habe ich im nachhinein manuell selbst hinzugefügt (das GridLayout hat schon die ersten 5 Plätze (0-4) belegt mit anderen Widgets):
Diese wird hier verwednet HEADER:
und SOURCE:
Also in der Zeile mit findet er myButton nicht
Mit dieser Fehlermeldung:
Vielen Dank!
Gruß Huck
ich habe in meinem Projekt eine myUI.ui. Diese erzeugt ein MyUi.h. Das HBoxLayout und das Button habe ich im nachhinein manuell selbst hinzugefügt (das GridLayout hat schon die ersten 5 Plätze (0-4) belegt mit anderen Widgets):
Code: Alles auswählen
//
QT_BEGIN_NAMESPACE
class Ui_DockWidget
{
public:
QWidget *dockWidgetContents;
QGridLayout *gridLayout;
QHBoxLayout *btnLO;
QPushButton *myButton;
QTableView *myTV;
void setupUi(QDockWidget *DockWidget)
{
DockWidget->resize(400, 380);
dockWidgetContents = new QWidget();
dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents"));
gridLayout = new QGridLayout(dockWidgetContents);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
/// hier mal an 3. Stelle
myTV = new QTableView(dockWidgetContents);
gridLayout->addWidget(myTV, 2, 0, 1, 1);
myButton = new QPushButton(QString::fromUtf8("MyButton"));
//myButton->setObjectName(QString::fromUtf8("myButton"));
btnLO = new QHBoxLayout;
btnLO->addWidget(myButton);
gridLayout->addItem(btnLO, 5, 0, 1, 1);
DockWidget->setWidget(dockWidgetContents);
retranslateUi(DockWidget);
QMetaObject::connectSlotsByName(DockWidget);
} // setupUi
void retranslateUi(QDockWidget *DockWidget)
{
DockWidget->setWindowTitle(QApplication::translate("DockWidget", "MyInterface", 0, QApplication::UnicodeUTF8));
Q_UNUSED(DockWidget);
} // retranslateUi
};
namespace Ui {
class DockWidget: public Ui_DockWidget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // MY_UI_H
Code: Alles auswählen
#ifndef THISCLASS_H
#define THISCLASS_H
#include <myUi.h>
class ThisClass
: public QDockWidget
, public Ui_DockWidget
{
Q_OBJECT
public:
//..
Code: Alles auswählen
#include "ThisClass.h"
#include "mydialog.h"
/// @relevance{Demo}
ThisClass::ThisClass( QWidget *myParent )
: QDockWidget( myParent )
, myUIDockWidget()
{
setupUi(this);
setParent(myParent);
//...code
connect( myButton, SIGNAL(clicked(bool)), this, SLOT(doThis()));
//..
}Code: Alles auswählen
connect( myButton, SIGNAL(clicked(bool)), this, SLOT(doThis()));
Was mache ich falsch? Darf ich die *.ui nicht manuell manipilieren? Zb wurde die TableView myTB nicht von mir manipuliert, diese wird auch erkannt.3>Compiling...
3>ThisClass.cpp
3>M:\Eigene Dateien\project\ThisClass.cpp(77) : error C2065: 'mybutton' : undeclared identifier
Vielen Dank!
Gruß Huck