В качестве примера создадим программу, которая отображает введенное целое десятичное число или в двоичном, или в восьмеричном, или в десятичном или в шестнадцатеричном виде. Это легко сделать с помощью элемента LCD Number, который предназначен для отбражени чисел в виде жидко-кристаллического экранчика.
Создайте проект на базе класса QWidget. Спроектируйте окно как показано на рисунке, используя элементы: Label, Line Edit, 4 Push Buttons, LCD Number.
В свойствах LCD Number установите: segment Style: Flat, digitCount: 20 (количество сегментов экрана, т.е. максимальное количество отображаемых цифр). Чем больше задать количество цифр, тем они будут мельче).
Задавать число мы будем с помощью элемента Line Edit. При изменениии числа в окне Line Edit должно изменяться значение в LCD Number. Для обеспечения этой связи можно использовать окно, которое располагается под проектом вида окна. Перейдите на вкладку Signals & Slots Editor и нажмите +. В список связей будет добавлена новая строка. Сделайте двойной щелчок в появившейся строке в первом поле <sender>. В появившемся списке выберите элемент lineEdit. Повторите эти действия в других полях так, чтобы связь была задана как показано на рисунке.
|
|
В результате при изменении содержимого элемента Line Edit будет автоматически изменяться содержимое элемента LCD Number.
Добавьте слот для кнопки <bin> и напишите в нем код как показано ниже. Повторите эти действия для других кнопок.
void Widget::on_pushButton_clicked()
{
ui->lcdNumber->setMode(QLCDNumber::Bin); // двоичное представление
ui->lineEdit->setFocus();
}
void Widget::on_pushButton_2_clicked()
{
ui->lcdNumber->setMode(QLCDNumber::Oct);
// восьмеричное представление
ui->lineEdit->setFocus();
}
void Widget::on_pushButton_3_clicked()
{
ui->lcdNumber->setMode(QLCDNumber::Dec); // десятичное представление
ui->lineEdit->setFocus();
}
void Widget::on_pushButton_4_clicked()
{
ui->lcdNumber->setMode(QLCDNumber::Hex); // 16-е представление
ui->lineEdit->setFocus();
}
Запустите программу и проверьте работу приложения.
Обратите внимание на то, что в заголовке окна появилась кнопка «свернуть окно» (её не было в диалоговом окне), но теперь окно появляется в углу экрана. Откройте файл main.cpp и отредактируйте его так, как показано ниже.
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.move(400,300); // перемещаем окно в центр экрана
w.show();
return a.exec();
}
Запустите программу.
Закройте проект.