-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwidget_style.cpp
More file actions
133 lines (101 loc) · 4.09 KB
/
widget_style.cpp
File metadata and controls
133 lines (101 loc) · 4.09 KB
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
//widget_style.cpp
#include "widget_style.h"
//==================================================
//=========== конструктор окна настроек ============
//==================================================
WidgetStyle::WidgetStyle(QWidget *parent)
: QWidget(parent)
{
//================== заголовок окна =====================
setWindowTitle(tr("Вид автомобилей"));
setFixedSize(400,300);
//================== содержимое окна =====================
vb = new QVBoxLayout; // компоновки
gl = new QGridLayout;
t1 = new QLabel(tr("<H3>Выберите автомобиль</H3>"));
vb->addWidget(t1);
spb = new QSpinBox; // спинбокс
spb->setValue(1); // значение по умолчанию 1
spb->setMinimum(1); // минимальное значение 1
spb->setMaximum(4); // максимальное значение 4
spb->setFixedWidth(60); // длинна 60
vb->addWidget(spb); // добавляем спинбокс в компановку
t2 = new QLabel(tr("Номер автомобиля соответсвует номеру уровня."));
vb->addWidget(t2); // добавляем текст в компановку
t3 = new QLabel(tr("<H3>Выберите новый дизайн</H3>"));
vb->addWidget(t3);
// создаём пиксмапы
QPixmap car1 ("://images/1car4.jpg");
QPixmap car2 ("://images/2car4.jpg");
QPixmap car3 ("://images/3car4.jpg");
QPixmap car4 ("://images/4car4.jpg");
pb1 = new QPushButton; // создаём кнопку
pb1->setIcon(car1); // в качестве конки берём пиксмап
pb1->setIconSize(car1.size()); // размер иконки равен размеру пиксмапа
connect(pb1, SIGNAL(clicked()), SLOT(C1())); // соединяем кнопку со слотом
pb2 = new QPushButton;
pb2->setIcon(car2);
pb2->setIconSize(car1.size());
connect(pb2, SIGNAL(clicked()), SLOT(C2()));
pb3 = new QPushButton;
pb3->setIcon(car3);
pb3->setIconSize(car1.size());
connect(pb3, SIGNAL(clicked()), SLOT(C3()));
pb4 = new QPushButton;
pb4->setIcon(car4);
pb4->setIconSize(car1.size());
connect(pb4, SIGNAL(clicked()), SLOT(C4()));
gl->addWidget(pb1, 0, 0); // добавляем кнопки в табличную компановку
gl->addWidget(pb2, 0, 1);
gl->addWidget(pb3, 1, 0);
gl->addWidget(pb4, 1, 1);
vb->addLayout(gl); // добавляем табличную компановку в вертикальную компановку
t4 = new QLabel(tr("Для внесения изменений нажмите на кнопку <Br> с понравившимся изображением."));
vb->addWidget(t4); // добавляем текст
this->setLayout(vb); // добавляем вертикальную компановку в виджет
}
//==================================================
//===================== слоты ======================
//==================================================
void WidgetStyle::C1()
{
int a = 1; // это будет номер картинки
int s = spb->value(); // а это - номер автомобиля
emit signalSTYLE(s, a); // высылаем сигнал
}
void WidgetStyle::C2()
{
int a = 2;
int s = spb->value();
emit signalSTYLE(s, a);
}
void WidgetStyle::C3()
{
int a = 3;
int s = spb->value();
emit signalSTYLE(s, a);
}
void WidgetStyle::C4()
{
int a = 4;
int s = spb->value();
emit signalSTYLE(s, a);
}
//==================================================
//================== деструктор ====================
//==================================================
WidgetStyle::~WidgetStyle()
{
delete pb1;
delete pb2;
delete pb3;
delete pb4;
delete spb;
delete vb;
delete gl;
delete t1;
delete t2;
delete t3;
delete t4;
}
//====================================================