Code: Alles auswählen
//LCD.h die Klasse des lcds
#include<QWidget>
class QLCDNumber;
class LCD:public QWidget
{
Q_OBJECT
public:
LCD(QWidget*parent=0);
private:
int value;
QLCDNumber*lcd;
public slots:
void incrementValue();
void decrementValue();
};
Code: Alles auswählen
//LCD.cpp die definitionen
#include"LCD.h"
#include<QLCDNumber>
#include <QVBoxLayout>
LCD::LCD(QWidget*parent)
:QWidget(parent)
{
lcd=new QLCDNumber(2);
lcd->setSegmentStyle(QLCDNumber::Filled);
connect(this,SIGNAL(incrementValue()),lcd,SLOT(display(value)));
connect(this,SIGNAL(decrementValue()),lcd,SLOT(display(value)));
QVBoxLayout*layout=new QVBoxLayout;
layout->addWidget(lcd);
setLayout(layout);
}
void LCD::incrementValue()
{
++value;
if(value>99) value=99;
}
void LCD::decrementValue()
{
--value;
if(value<0) value=0;
}
Code: Alles auswählen
//main.cpp
#include<QApplication>
#include<QPushButton>
#include<QFont>
#include<QGridLayout>
#include<QVBoxLayout>
#include"LCD.h"
class MyWidget:public QWidget
{
public:
MyWidget(QWidget*parent=0);
private:
QPushButton*plus;
QPushButton*minus;
LCD*lcd;
};
MyWidget::MyWidget(QWidget*parent)
{
plus=new QPushButton("+");
minus=new QPushButton("-");
lcd=new LCD;
connect(plus,SIGNAL(clicked()),
lcd, SLOT(incrementValue()));
connect(minus,SIGNAL(clicked()),
lcd, SLOT(decrementValue()));
QGridLayout*grid=new QGridLayout;
grid->addWidget(minus,0,0);
grid->addWidget(plus,0,1);
QVBoxLayout*layout=new QVBoxLayout;
layout->addLayout(grid);
layout->addWidget(lcd);
setLayout(layout);
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget window;
window.show();
return app.exec();
}
Er zeigt jetzt alles an aber wenn ich auf die buttons gehe verändert sich nix...[/code]