The following code demos the problem.
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
{
Q_OBJECT
public:
public slots:
void inc();
};
#endif // MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
QTableWidget *table;
QPushButton *b1;
public slots:
void inc();
};
#endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode
mainwindow.cpp
#include "mainwindow.h"
MainWindow
::MainWindow(QWidget *parent
){
table->verticalHeader()->setDefaultSectionSize(16);
table->verticalHeader()->hide();
l->addWidget(table);
l->addWidget(b1);
w->setLayout(l);
setCentralWidget(w);
connect(b1, SIGNAL(clicked()), this, SLOT(inc()));
}
void MainWindow::inc()
{
i
->setText
(QString::number(i
->text
().
toInt() + 1));
}
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QVBoxLayout *l = new QVBoxLayout();
table = new QTableWidget(1, 1);
table->verticalHeader()->setDefaultSectionSize(16);
table->verticalHeader()->hide();
table->setItem(0, 0, new QTableWidgetItem("1"));
b1 = new QPushButton("Increment");
l->addWidget(table);
l->addWidget(b1);
QWidget *w = new QWidget();
w->setLayout(l);
setCentralWidget(w);
connect(b1, SIGNAL(clicked()), this, SLOT(inc()));
}
void MainWindow::inc()
{
QTableWidgetItem *i = table->item(0, 0);
i->setText(QString::number(i->text().toInt() + 1));
}
To copy to clipboard, switch view to plain text mode
Clicking the button should increment the value in the table, but doesnt until the table is clicked on or resized etc..
Bookmarks