Programm zeigt nichts an ?! QTableWidget & QLineEdit
Verfasst: 24. Juni 2014 14:46
Hallo, ich bin noch neu im Programmieren mit QT und in c++ kenne ich die Basic's .
Nun habe ich das Problem das mein Programm irgendwie nichts anzeigt im Fenster. Es öffnet sich, aber zeigt nichts an obwohl ich shows drinne hab.
Aber da er es öffnet, zeigt er auch keinerlei Fehlermeldungen an. Seht ihr da den Fehler ?
zumal habe ich immernoch das die Frage aus meinem anderem Post, das ich beim Buttonclick die inhalte aus 2 LineEdit feldern ( die value wird sich natürlich bei jedem buttonklick ändern ) den Inhalt aus diesen Feldern untereinander ein eine
Tabelle packe, das die zuvorigen aber auch stehen bleiben. Aber zur Zeit kann ich nichtmal was Anzeigen was mich am meisten stört. Ich habe auch keine ahnung warum da es keine Fehlermeldung gibt.
Ich wäre euch sehr Dankbar wenn ihr mir bei meinen Problemen helfen würdet, dankeschöön
.
Tabelle.h :
Die Main
Die " Organe " :
Nun habe ich das Problem das mein Programm irgendwie nichts anzeigt im Fenster. Es öffnet sich, aber zeigt nichts an obwohl ich shows drinne hab.
Aber da er es öffnet, zeigt er auch keinerlei Fehlermeldungen an. Seht ihr da den Fehler ?
zumal habe ich immernoch das die Frage aus meinem anderem Post, das ich beim Buttonclick die inhalte aus 2 LineEdit feldern ( die value wird sich natürlich bei jedem buttonklick ändern ) den Inhalt aus diesen Feldern untereinander ein eine
Tabelle packe, das die zuvorigen aber auch stehen bleiben. Aber zur Zeit kann ich nichtmal was Anzeigen was mich am meisten stört. Ich habe auch keine ahnung warum da es keine Fehlermeldung gibt.
Ich wäre euch sehr Dankbar wenn ihr mir bei meinen Problemen helfen würdet, dankeschöön
Tabelle.h :
Code: Alles auswählen
// Tabelle.h
#include <QtWidgets/QWidget>
#include <QtWidgets/QTableWidget>
#ifndef _TABELLE_H_
#define _TABELLE_H_
class Tabelle : public QWidget
{
Q_OBJECT
public:
Tabelle(void);
void init();
QTableWidget* table;
private:
int rowcount ;
int row;
private slots:
void pushButtonClicked();
};
#endif
Die Main
Code: Alles auswählen
#include <QtWidgets\QApplication>
//TabellenMain.cpp
#include <QtWidgets\QPushButton>
#include "Tabelle.h"
int main (int argc, char* argv[])
{
QApplication myapp(argc,argv);
Tabelle tabelle;
tabelle.init();
return myapp.exec();
}Code: Alles auswählen
// Tabelle.cpp
#include <QtWidgets\QApplication>
#include <QtWidgets\QLabel>
#include <QtWidgets\QTextEdit>
#include <QtWidgets\QLineEdit>
#include <QtWidgets\QPushbutton>
#include <QtGui\QFont>
#include <QtCore\QString>
#include <QtWidgets\QPushButton>
#include <QtWidgets\QTableWidget>
#include <QtWidgets\QHeaderView>
#include <QtWidgets\QPushbutton>
#include <QTWidgets\QVBoxLayout>
#include "Tabelle.h"
Tabelle::Tabelle()
{
//empty
}
void Tabelle::init()
{
QWidget window;
QWidget* mywidget = new QWidget();
QTableWidget* table = new QTableWidget();
QLabel* lblname = new QLabel ("Name: ", mywidget );
QLineEdit *txtname = new QLineEdit();
QLabel* lblvalue = new QLabel("Value",mywidget);
QLineEdit *txtvalue = new QLineEdit();
QPushButton* btnaddtotable = new QPushButton( "Add to Table", mywidget);
QVBoxLayout *layout = new QVBoxLayout (&window);// instantiierung einesQQ-pllication objects, das ist immer nötig.
row = 1 ;
//größe
lblname->setGeometry (40 , 50 , 250 , 60);
lblname->setFont(QFont("Times", 10, QFont::Bold));
lblvalue->setGeometry (40 , 50 , 250 , 60);
lblvalue->setFont(QFont("Times", 10, QFont::Bold));
btnaddtotable->setGeometry(50,20,400,40);
mywidget->setGeometry(800,400,800,650);
QString strname ;
strname = ( txtname ->text ());
QString strvalue ;
strvalue = ( txtvalue ->text ());
table->setRowCount( 10 );
table->setColumnCount( 2 );
table->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
// Labels setzen
QStringList hLabels, vLabels;
hLabels << "Name" << "Value" ;
table->verticalHeader()->setVisible( false );
table->setHorizontalHeaderLabels( hLabels );
layout->addWidget(lblname);
layout->addWidget(txtname);
layout->addWidget(lblvalue);
layout->addWidget(txtvalue);
layout->addWidget(btnaddtotable);
layout->addWidget(table);
QObject::connect ( btnaddtotable, SIGNAL ( clicked() ), this , SLOT(pushButtonClicked())) ;
txtname->show();
txtvalue->show();
table->show();
window.show();
mywidget->show();
}
void Tabelle::pushButtonClicked( )
{
rowcount = table->rowCount();
if ( row < rowcount )
{
table->insertRow( table->rowCount() );
row++;
}
QTableWidgetItem * item = new QTableWidgetItem(0);
item->setText("BLA");
table->setItem( row , row , item);
}