- •Содержание
- •Лабораторная работа № 1 Тема: «Знакомство со средой Qt creator. Простые диалоговые приложения»
- •Пример 1: Программа, вычисляющая вещественный остаток от деления двух вещественных чисел
- •Пример 2: Программа, которая находит квадратный корень числа.
- •Пример 3: Программа, которая иллюстрирует использование стандартных сигналов и слотов.
- •Пример 4: Программа, которая вычисляет значение арифметического выражения
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 2 Тема: «Отладка программы»
- •Пошаговое выполнение программы
- •Задания для самостоятельного выполнения
- •Пример 2: программа, которая выводит значения функции на заданном отрезке с помощью списка listWidget
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 4 Тема: «Работа со строками» п ример 1: программа, которая переводит число из 16-ой системы в 10-ую. При вводе выполняется проверка вводимых символов.
- •Пример 2: программа, которая считывает строку символов, состоящую из русских букв, запятых и пробелов и выводит на экран множество символов этой строки.
- •Пример 3: программа, которая считывает текст из элемента tetxEdit и выводит в столбик числа, содержащиеся в тексте с помощью другого элемента типа textEdit.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 5 Тема: «Главные окна. Меню. Работа с файлами» Пример 1: программа, которая считывает текст из файла и выводит его в главном окне; используется файл ресурсов.
- •Пример 2: программа, которая считывает текст из файла и половину строк переписывает в другой файл; используются специальные окна для работы с файлами.
- •Пример 3: программа, которая считывает текст из файла и подсчитывает количество видимых символов и количество русских букв.
- •Задания для самостоятельного выполнения
- •Пример 2: программа, в которой используется область отсечения qRegion и котекстное меню для выбора способа заливки этой области.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 7
- •Пример 1: программа, которая рисует траектории движения мыши при нажатой левой кнопке выбранным цветом и стирает рисунок при щелчке правой кнопкой мыши.
- •Пример 2: программа, которая рисует окружности с помощью мыши (окружность видима в процессе построения). Нарисованные окружности можно сохранить в файле и загрузить из файла.
- •Задания для самостоятельного выполнения
- •Задания для самостоятельного выполнения
- •Задания для самостоятельного выполнения
Пример 3: программа, которая считывает текст из элемента tetxEdit и выводит в столбик числа, содержащиеся в тексте с помощью другого элемента типа textEdit.
Спроектируйте окно как показано на рисунке, используя 2 элемента типа textEdit.
В файл dialog.cpp внесите код, показанный ниже:
#include "dialog.h"
#include "ui_dialog.h"
#include <QTextStream> // для создания потока
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
/* связываем сигнал об изменении текста в первом окне и слот FindWords(), который будет из текста выбирать слова, являющиеся числами */
connect(ui->textEdit, SIGNAL(textChanged()),
this, SLOT(FindWords()));
}В файл dialog.h вставьте объявление слота:
public slots:
void FindWords();
В файле dialog.cpp напишите определение слота:
void Dialog::FindWords()
{
QString str = ui->textEdit->toPlainText();
// считываем текст из окна textEdit (текст может быть многострочным)
QTextStream in(&str, QIODevice::ReadOnly);
// создаем поток для чтения слов из текста
QString rez; // текст, который будет выводиться во втором окне
QString number; // строка, в которую будет считываться одно слово из текста
while (!in.atEnd()) // пока поток не закончен
{
in >> number; // считываем одно слово
QDoubleValidator* validator = new QDoubleValidator;
// создаем указатель на валидатор
int pos = 0; /* позиция в строке, с которой будет начинаться проверка (эта переменная нужна для функции validate() ) */
if(validator->validate(number, pos)) // проверяем слово number
rez += number + '\n';
// если слово является числом, добавляем его к тексту
}
ui->textEdit_2->setText(rez); // выводим полученные числа на экран
}Задания для самостоятельного выполнения
Из двух вводимых с клавиатуры строк, состоящих только из слов, записанных латинскими буквами, разделенных запятыми и пробелами (с проверкой правильности ввода), создать третью строку, которая должна содержать символы, присутствующие одновременно в обеих исходных строках. В результирующую строку каждый символ должен входить только один раз. (См. пример 2)
Из двух вводимых с клавиатуры строк, состоящих только из слов, записанных русскими буквами, разделенных точками и пробелами (с проверкой правильности ввода), создать третью строку, которая должна содержать символы, присутствующие только во второй строке. В результирующую строку каждый символ должен входить только один раз. (См. пример 2)
Создать приложение, которое считывает строку текста, состоящую только из слов записанных латинскими буквами, разделенных запятыми и пробелами (с проверкой правильности ввода). Если за запятой не стоит пробел, вставить его и получившуюся строку вывести на экран.
Создать приложение, которое считывает строку текста, состоящую только из слов записанных русскими буквами, разделенных точками и пробелами (с проверкой правильности ввода). Если перед точкой стоят пробелы, удалить их и получившуюся строку вывести на экран.
Создать приложение, которое считывает строку текста, состоящую только из слов записанных латинскими буквами, разделенных точками и пробелами (с проверкой правильности ввода). Если первое слово, идущее за точкой, начинается с маленькой буквы, заменить эту букву большой и получившуюся строку вывести на экран.
Создать приложение, которое считывает строку текста, состоящую только из чисел, разделенных пробелами (с проверкой правильности ввода). Удалить лишние пробелы между числами, т.е. из нескольких идущих подряд пробелов оставить только один. Получившуюся строку вывести на экран.
Создать приложение, которое считывает строку текста, состоящую только из слов, записанных русскими буквами, разделенных пробелами (с проверкой правильности ввода). Если в слове встречаются две идущие подряд большие буквы, заменить вторую большую букву маленькой.
Создать приложение которое считывает строку текста и подсчитывает, сколько раз заданный символ встречается в этой строке. При вводе символа не позволять пользователю вводить более одного.
Создать приложение, которое считывает две строки символов и проверяет, является ли вторая строка анаграммой первой (т.е. можно ли получить вторую строку путем перестановки символов первой), например: "корт" и "крот". Указание: отсортируйте обе строки и сравните.
Создать приложение, которое считывает строку символов, состоящую только из цифр и латинских букв (с проверкой правильности ввода). Вставить после каждого символа запятую и полученную строку вывести на экран.
Создать приложение, которое считывает строку текста, состоящую только из цифр и запятых (с проверкой правильности ввода). Удалить запятые из строки и результат вывести на экран.
Создать приложение, которое считывает строку текста, состоящую только из русских букв и запятых (с проверкой правильности ввода). Заменить запятые пробелами и результат вывести на экран.
Создать приложение, которое считывает строку текста, содержащую фамилию, имя и отчество. Заменить фамилию на новую, которая вводится в другом окне редактирования. Полученную строку вывести на экран.
Создать приложение, которое считывает строку текста и переносит первое слово в конец строки. Результат вывести на экран.
Создать приложение, которое считывает строку текста и переносит последнее слово в начало строки. Результат вывести на экран.
Создать приложение, которое считывает строку текста и выводит на экран те слова, которые начинаются и заканчиваются на одну и ту же букву.
Создать приложение, которое считывает строку текста и выводит на экран те слова, которые начинаются с цифры.
Создать приложение, которое считывает строку текста и после второго слова вставляет новое, которое вводится в другом окне редактирования. Полученную строку вывести на экран.
