QT Creator : Скачать файл по URL

form1.h:

...
private slots:
           void onResultJson();

private:
    Ui::Form1 *ui;
    QNetworkAccessManager *networkManager;
...

form1.cpp:

...
    networkManager = new QNetworkAccessManager();
    QNetworkReply* mNetReply = nullptr;
    // Получаем данные, а именно JSON файл с сайта по определённому url
    mNetReply=networkManager->get(QNetworkRequest(QUrl("http://xn--90acbu5aj5f.xn--p1ai/files/json")));
    // Подключаем networkManager к обработчику ответа
    connect(mNetReply,SIGNAL(finished()), this, SLOT(onResultJson()));
...

void Form1::onResultJson(){
    qDebug() << "Файл скачали";
    QNetworkReply *reply=qobject_cast<QNetworkReply *>(sender());
    if (reply->error() == QNetworkReply::NoError)
        {
         QByteArray content= reply->readAll();
         qDebug() << content;
....

QT Creator : работа с QtableWidget

Form1::Form1(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Form1){
    ui->setupUi(this);
   ui->tableWidget->setColumnCount(2); // Указываем число колонок
    ui->tableWidget->setShowGrid(true); // Включаем сетку
    // Разрешаем выделение только одного элемента
    ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
    // Разрешаем выделение построчно
    ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
    // Устанавливаем заголовки колонок
    QStringList headers;
        headers.append("Название");
        headers.append("Количество");
    ui->tableWidget->setHorizontalHeaderLabels(headers);
    // Растягиваем последнюю колонку на всё доступное пространство
    ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
    // Скрываем колонку под номером 0
    //ui->tableWidget->hideColumn(0);
    // делаем таблицу readonly
    ui->tableWidget->setEditTriggers(QTableWidget::NoEditTriggers);
    // добавим в ячейки данные
    ui->tableWidget->insertRow(0);
    ui->tableWidget->setItem(0,0, new QTableWidgetItem("Ваши новые тикеты"));
    ui->tableWidget->setItem(0,1, new QTableWidgetItem("0"));
    ui->tableWidget->insertRow(1);
    ui->tableWidget->setItem(1,0, new QTableWidgetItem("-- не завершенные (Менеджер)"));
    ui->tableWidget->setItem(1,1, new QTableWidgetItem("0"));
    ui->tableWidget->insertRow(2);
    ui->tableWidget->setItem(2,0, new QTableWidgetItem("-- не завершенные (Клиент)"));
    ui->tableWidget->setItem(2,1, new QTableWidgetItem("0"));
    ui->tableWidget->insertRow(3);
    ui->tableWidget->setItem(3,0, new QTableWidgetItem("Новых в подразделении"));
    ui->tableWidget->setItem(3,1, new QTableWidgetItem("0"));
    ui->tableWidget->insertRow(4);
    ui->tableWidget->setItem(4,0, new QTableWidgetItem("-- не закрытых"));
    ui->tableWidget->setItem(4,1, new QTableWidgetItem("0"));
    ui->tableWidget->insertRow(5);
    ui->tableWidget->setItem(5,0, new QTableWidgetItem("Заявок на подключения"));
    ui->tableWidget->setItem(5,1, new QTableWidgetItem("0"));
    // растянем все колонки
    ui->tableWidget->resizeColumnsToContents();

 

Чтиво за последнее время

Взрослое:

Бродяга 1,2 — Хайдарали Усманов. Довольно скучное чтиво, с элементами садо-мазо. Зачем прочитал, не понятно..Сюжет: попаданец в космосе. Прокачка «себя», гнобение других.  В целом (-)

Солнечный рубеж. Бином — Эльнур Юсуфов. Сюжет: Земля наскакивает на струну пространства, которая её разрушает. Оставшаяся на Марсе экспедиция сумела уйти в прошлое по этой же струне. Сумеют ли они помочь человечеству? (+)

Фермер в небе. Роберт Хайнлайн. — как фермеры осваивают Ганимед — спутник Юпитера

Детское:

Золотой ключик — Алексей Носов. (+)

Без Семьи — Гектор Анри Мало — повесть о жизни и приключениях мальчика. Бродячая жизнь, скитания, лишения, испытания и хэппи энд к конце. (+)

Девочка с земли. Кри Булычев. (+)

 

QT Creator: сворачиваем приложение в трей

Создадим минимальное приложение, которое при закрытии будет сворачиваться в трей, а при нажатии на иконку приложения, показывает пункты меню «показать» и «выйти». Читать далее QT Creator: сворачиваем приложение в трей

QT Creator : вывод кирилицы в консоль (при отладке)

Чтобы не иметь «крякозябров», нужно настроить кодеки при старте программы:

#include "form1.h"
#include <QApplication>
#include <QDebug>
#include <QTextCodec>


int main(int argc, char *argv[]){
    QApplication a(argc, argv);
    QTextCodec *codec1 = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec1);
    QTextCodec::setCodecForTr(codec1);
    QTextCodec::setCodecForCStrings(codec1);
    qDebug() << "создали форму..";
    Form1 w;
    qDebug() << "показали форму..";
    w.show();

    return a.exec();
}

Жизнь замечательных грибов