Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 2
1

Написать программу с окном типа QMainWindow

11.05.2014, 19:19. Показов 2071. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу с окном типа QMainWindow, которое считывает текст из файла, выводит его на экран и подсчитывает, сколько раз заданный символ со¬держится в тексте. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов. Символ считывать с помощью вспомогательного диалогового окна, которое вы-водится на экран при нажатии на кнопку на панели инструментов.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2014, 19:19
Ответы с готовыми решениями:

Написать программу для медианного сглаживания одномерного массива скользящим окном
Добрый день. Есть задание: написать программу для медианного сглаживания одномерного массива...

В приложении типа QMainWindow построить контур треугольника, вра-щающийся вокруг одной из вершин
Нужно в приложении типа QMainWindow построить контур треугольника, вращающийся вокруг одной из...

Написать программу строкового типа
Дана последовательность символов латинского алфавита, заканчивающаяся точкой. Известно, что среди...

Написать программу строкового типа
Дана последовательность символов латинского алфавита, заканчивающаяся точкой. Проверить, если в...

8
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
11.05.2014, 21:01 2
И че? В чем вопрос то?
Делов на 20 минут.
0
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
11.05.2014, 21:17 3
Лучший ответ Сообщение было отмечено x0x0x0x как решение

Решение

C++ (Qt)
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
//mainwindow.h
#ifndef MINWINDOW_H
#define MINWINDOW_H
 
#include <QtWidgets/QMainWindow>
#include <QPushButton>
#include <QLabel>
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    MainWindow(QWidget *parent = 0);
 
private slots:
    void openFileDialog();
    void openGetSymbolDialog();
 
private:
    QPushButton* m_openSymbolDialogPButton;
    QPushButton* m_openFileDialogPButton;
    QLabel* m_textLabel;
};
 
#endif // MINWINDOW_H
 
//mainwindow.cpp
#include "mainwindow.h"
#include <QDockWidget>
#include <QVBoxLayout>
#include <QFileDialog>
#include <QFile>
#include <QDialog>
#include <QLineEdit>
 
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    m_openSymbolDialogPButton = new QPushButton("Get symbol");
    m_openFileDialogPButton = new QPushButton("Select file");
    QVBoxLayout* vLayout = new QVBoxLayout;
    vLayout->addWidget(m_openSymbolDialogPButton);
    vLayout->addWidget(m_openFileDialogPButton);
    QWidget* widget = new QWidget;
    widget->setLayout(vLayout);
 
    QDockWidget* dock = new QDockWidget(this);
    dock->setWidget ( widget );
    addDockWidget(Qt::LeftDockWidgetArea, dock);
 
    m_textLabel = new QLabel;
    m_textLabel->setStyleSheet("background-color: magenta");
    setCentralWidget(m_textLabel);
 
    connect(m_openFileDialogPButton,   SIGNAL(clicked()), SLOT(openFileDialog()));
    connect(m_openSymbolDialogPButton, SIGNAL(clicked()), SLOT(openGetSymbolDialog()));
 
    m_openSymbolDialogPButton->setEnabled(false);
}
 
 
void MainWindow::openFileDialog()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), ".",  "Text (*.txt)");
    
    QFile file(fileName);
    if(file.open(QIODevice::ReadOnly))
    {
        setWindowTitle(fileName);
        m_textLabel->setText(QString::fromLocal8Bit(file.readAll()));
        m_openSymbolDialogPButton->setEnabled(true);
    }
}
 
void MainWindow::openGetSymbolDialog()
{
    QDialog dialog(this);
 
    QPushButton* okButton = new QPushButton("Ok");
    QLineEdit* lineEdit = new QLineEdit;
    lineEdit->setMaxLength(1);
    QVBoxLayout* vBox = new QVBoxLayout;
    vBox->addWidget(lineEdit);
    vBox->addWidget(okButton);
    dialog.setLayout(vBox);
 
    connect(okButton, SIGNAL(clicked()), &dialog, SLOT(accept()));
    if(dialog.exec() == QDialog::Accepted)
    {
        QString symbol= lineEdit->text();
        if(!text.isEmpty())
        {
            lineEdit->setDisabled(true);
            lineEdit->setMaxLength(32767);
            lineEdit->setText(QString("Count of symbol \"%1\" is: %2").arg(symbol).arg(m_textLabel->text().count(symbol, Qt::CaseInsensitive)));
            dialog.exec();
        }
    }
}
 
//main.cpp
#include "mainwindow.h"
#include <QtWidgets/QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MinWindow w;
    w.show();
    w.resize(300, 300);
    return a.exec();
}
просто задуряюсь
1
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
11.05.2014, 21:55 4
Кудаив, такое они любят - на блюдечке
0
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
11.05.2014, 22:28 5
Кудаив, вот теперь еще один бездельник сдаст курсач (лабу) на халяву.
Надеюсь будущее врачи учатся лучше, чем будущие программисты.
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 2
11.05.2014, 22:51  [ТС] 6
alexey_rage, Я смотрю у тебя так все комментарии с просьбами заканчиваются? что то не нравиться? - проходи мимо!

Программа была уже написана, не сразу понял, что надо исправить.
0
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
12.05.2014, 01:42 7
x0x0x0x,

Не по теме:

нормальные люди, когда пишут на форум, то задают конкретный вопрос. Кидают свой код с просьбой указать на ошибки или недочеты. А не просто тупо кидают задание и ждут, когда им кто-то что-то сделает. Для этого есть специальная тема в разделе "фриланс".
Тем более ваша задача вообще простейшая. Я бы даже сказал - примитивная.
Сразу видно, что литературу даже не пытался читать, раз задаешь такие вопросы!
Не люблю я таких халявщиков! Думаю многие меня здесь поддержат!

4
37 / 37 / 18
Регистрация: 15.05.2013
Сообщений: 236
12.05.2014, 01:47 8
Поддерживаю!
0
136 / 140 / 7
Регистрация: 22.08.2011
Сообщений: 485
12.05.2014, 20:13 9
Кудаив, ну совсем разленился == даже
не прикрепил к ответу файлы-исходники...
Ну и что теперь делать - ума не приложу!

Не по теме:


Про врачей... Укол делать идут втроём:
первый знает - что колоть;
второй знает - как колоть;
третий знает - куда колоть...

0
12.05.2014, 20:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2014, 20:13
Помогаю со студенческими работами здесь

Написать программу типа Acrobat Reader
Доброго времени суток! Затрудняюсь с выполнением одного задания, а именно нужно написать программу...

Написать программу, которая состоит из описания индексированого типа
Написать программу, которая состоит из описания индексированого типа, инициирует эту переменную...

Написать программу записи к файлу элементов типа структура
Написать программу записи к файлу элементов типа структура для реестрации автомобилей с полями: ...

Написать программу по формированию динамического вектора целого типа
Всем привет!Прошу помощи! Задача следующая: Диманический вектор Написать программу по...

Написать параллельную программу с общей переменной типа String
Написать параллельную программу с общей переменной типа String и двумя рабочими процессами....

Написать программу определения знака переменных разного типа
2)используя перезагрузку функций, написать программу определения знака переменных разного типа


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru