1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| #include <QtGui>
#include "window.h"
//constructeur
Window::Window(QWidget *parent) : QWidget(parent){
grid = new QGridLayout;
grid->addWidget(createButtonBox(), 0, 0);
grid->addWidget(createAboutBox(), 0, 1);
setLayout(grid);
setWindowTitle(tr("ip_calculator"));
resize(640, 480);
}
//methodes
//button box
QGroupBox *Window::createButtonBox(){
QGroupBox *groupBox = new QGroupBox(tr("Menu"));
//creation des diffrents boutons
QPushButton *infoIpButton = new QPushButton(tr("&IP infos"));
QPushButton *maxClientButton = new QPushButton(tr("&Max client"));
QPushButton *maxSubnetButton = new QPushButton(tr("&Max Subnet"));
QPushButton *aboutButton = new QPushButton(tr("&About"));
QPushButton *quitButton = new QPushButton(tr("&Quit"));
//creation du container + placer bouttons
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(infoIpButton);
vbox->addWidget(maxClientButton);
vbox->addWidget(maxSubnetButton);
vbox->addWidget(aboutButton);
vbox->addWidget(quitButton);
vbox->addStretch(1);
groupBox->setFixedSize(100, 480);
groupBox->setLayout(vbox);
//actions des boutons
connect(infoIpButton, SIGNAL(clicked()), this, SLOT(infoIp()));
//connect(maxClientButton, SIGNAL(clicked()), this, SLOT(maxClient()));
//connect(maxSubnetButton, SIGNAL(clicked()), this, SLOT(maxSubnet()));
connect(aboutButton, SIGNAL(clicked()), this, SLOT(about()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
return groupBox;
}
//about box
QGroupBox *Window::createAboutBox(){
QGroupBox *groupBox = new QGroupBox(tr("About"));
QVBoxLayout *vbox = new QVBoxLayout;
//text
QLabel *label = new QLabel(this);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->setText("first line\nsecond line");
label->setAlignment(Qt::AlignBottom | Qt::AlignRight);
vbox->addWidget(label);
groupBox->setLayout(vbox);
return groupBox;
}
QGroupBox *Window::createInfoIpBox(){
QGroupBox *groupBox = new QGroupBox(tr("Info Ip"));
QVBoxLayout *vbox = new QVBoxLayout;
//text
QLabel *label = new QLabel(this);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->setText("info ip");
label->setAlignment(Qt::AlignBottom | Qt::AlignRight);
vbox->addWidget(label);
groupBox->setLayout(vbox);
return groupBox;
}
//slots
void Window::about(){
this->grid->addWidget(createAboutBox(), 0, 1);
//createAboutBox();
}
void Window::infoIp(){
this->grid->addWidget(createInfoIpBox(), 0, 1);
} |
Partager