© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
4 сентября 2015 г. 15:30

QtQt/C++ - Урок 015. QTableWidget или Как сделать таблицу с чекбоксами

Qt, Qt Таблица, QTableWidget, QTableWidget example, QTableWidget пример

Использование QTableWidget будет первым способом, который посоветуют Вам для создания таблиц с чекбоксами на Qt. Поэтому давайте рассмотрим и этот вариант работы с таблицами в Qt и конечно же применим чекбоксы.

Итак, чтобы урок был более приближен к реальности, захватим немного программного кода из урока по QDataWidgetMapper . А именно возьмём класс для работы с базой данных, чтобы уж сразу делать таблицу из базы данных. После чего сделаем форму главного окна приложения и выведем данные из таблицы с отображением чекбоксов. Естественно, при включении приложения таблица база данных будет создана и заполнена несколькими записями, которые мы и будем выводить в виджет.

Программный код был написан в QtCreator 3.3.1 на основе Qt 5.4.1.

Структура проекта для QTableWidget

Предлагаю ознакомиться со структурой проекта:

  • QTableWidgetExample.pro - профайл;
  • mainwindow.h - заголовочный файл основного окна приложения;
  • mainwindow.cpp - исходный код окна;
  • main.cpp - основной исходный файл, с которого стартует приложение;
  • mainwindow.ui - формочка основного окна приложения;
  • database.h - заголовочный файл вспомогательного класса, применяющегося для работы с информацией, которая помещена в базу данных;
  • database.cpp - исходный файл вспомогательного класса, применяющегося для работы с информацией, которая помещена в базу данных;
3 сентября 2015 г. 9:19

Технологии передачи данныхEthernet over SDH

Ethernet, GFP, LCAS, NG SDH, SDH, VCAT

Ethernet and SDH technologies are focused on computer and information networks. But the main problem in their interaction is pairing constant fixed speed SDH channels with pulsating Ethernet traffic. For example, VC-4 has a speed of 149.760 Mb / s, while Ethernet 100Base-T has a speed of 100 Mbit / s, respectively. Thus SDH payload channel is 70%, whereas the payload transmission GigabitEthernet generally drops to 40%. To solve these problems using technology GFP, VCAT and LCAS. In fact, these procedures have formed SDH network of the New Generation (NG SDH). Many network operators are given the opportunity to upgrade their networks instead of complete replacement of existing equipment.

2 сентября 2015 г. 16:38

Технологии передачи данныхDELL Networking. Основы политик маршрутизации (Часть 2)

DELL, Route-Map

Server Priority

DELL Networking - Server Priority

В данном примере сервер баз данных должен обеспечиваться большей пропускной способностью в определенное время для доступа к серверу хранения данных.

Настройка VLAN на интерфейсе 1G

console#config 
console(config)#vlan 10 
console(config-vlan10)#exit 
console(config)#interface vlan 10 
console(config-if-vlan10)#ip address 192.151.3.5 255.255.255.0 
console(config-if-vlan10)#exit 
console(config)#interface gi1/0/1 
console(config-if-Gi1/0/1)#switchport trunk allowed vlan 10 
console(config-if-Gi1/0/1)#switchport mode trunk 
console(config-if-Gi1/0/1)#exit 
1 сентября 2015 г. 15:00

QtQt/C++ - Урок 014. Динамическое создание виджетов в Qt

QPushButton, Dynamic widget, Динамический виджет, Qt

В сложных проектах может быть недостаточно наличия статических виджетов в интерфейсе программы, поскольку поступающая информация может изменяться ежесекундно. Следовательно поднимается вопрос о динамическом создании виджетов, например кнопок в компоновщике Qt.

В данном уроке описывается процесс динамического создания кнопок QPushButton, приёма сигналов от этих кнопок, а также последующее удаление этих кнопок из компоновщика Qt.

Программный код был написан в QtCreator 3.3.1 на основе Qt 5.4.1.

Структура проекта

Описание структуры проекта:

  • DynamicButtons.pro - профайл;
  • mainwindow.h - заголовочный файл основного окна приложения;
  • mainwindow.cpp - исходный код окна;
  • main.cpp - основной исходный файл, с которого стартует приложение;
  • mainwindow.ui - формочка основного окна приложения;
  • qdynamicbutton.h - заголовочный файл класса обертки, который упрощает процесс работы с динамическими объектами в данном уроке;
  • qdynamicbutton.cpp - исходный файл класса обертки, который упрощает процесс работы с динамическими объектами в данном уроке.
1 сентября 2015 г. 1:00

AVRМакрос в Assembler на примере AVR

AVR, macro, Assembler

Макрос — это набор команд и инструкций,  которые группируются в единую команду для автоматизации задач программирования, ускорения часто выполняемых действий редактирования и форматирования.

Также Макросы могут использоваться для ускорения разработки программного обеспечения для микроконтроллеров на языке программирования Assembler . В процессе компиляции Макросы заменяются на последовательности команд микроконтроллера. Подобный подход к программированию позволяет облегчить восприятие программного кода, уменьшить размер исходников, а также приблизить программирование на Assembler по внешнему виду к языку программирования C .

31 августа 2015 г. 14:39

QtQt/C++ - Урок 013. QMenu - контекстное меню в QTableView

QMenu, QMenu example, QMenu Qt, Qt, контекстное меню, меню

Для работы с контекстным меню в Qt используется класс QMenu . При совершении действий, которые должны вызвать меню, вызывается обработчик, который создаёт меню и привязывает обработчики к действиям в данном меню.

В данном уроке работа с контекстным меню будет показана на примере программного кода из урока по работе с QDataWidgetMapper . В данном уроке будет отредактировано два файла из предыдущего урока, но проект не заработает , если Вы не включите в него также файлы из предыдущего урока, которые не редактировались.

Программный код был написан в QtCreator 3.3.1 на основе Qt 5.4.1.

Структура проекта для QMenu

Структура проекта остается неизменной, как и в уроке, на котором основывается данный урок. Изменениям в программном коде будут подвергнуты лишь два файла:

  • mainwindow.h
  • mainwindow.cpp
30 августа 2015 г. 14:33

QtQt/C++ - Урок 012. QShortcut или Горячие клавиши в Qt

QShortcut, QShortcut example, Qt

Даже в официальной документации на тему QShortcut написано не так много, поэтому это скорее заметка, чтобы не забыть, а не полноценная статья. Всего лишь несколько слов о том, как подключить объект QShortcut, который будет отвечать за обработку нажатия горячей клавиши или сочетания горячих клавиш, например Ctrl + D .

Программный код был написан в QtCreator 3.3.1 на основе Qt 5.4.1.

Структура проекта для QShortcut

Структура проекта настолько тривиальна, что я даже не буду приводить её в данной заметке. Ограничусь лишь теми словами, что мы будем работать с двумя файлами:

  • mainwindow.h
  • mainwindow.cpp

А файл mainwindow.ui даже трогать в этом проекте не будем. Как он будет создан по умолчанию, так его и оставим.

30 августа 2015 г. 7:40

QtQt/C++ - Урок 007. Фильтр для записей в QSqlTableModel

QSqlRelationalTableModel, QSqlTableModel, QSqlTableModel example, фильтр

Продолжая работу с таблицами в Qt , хотелось бы освятить тот момент, как установить фильтр на модель представления данных в QSqlTableModel или в QSqlRelationalTableModel . Поэтому для описания процесса установки фильтра за основу был взят программный код из урока по QSqlTableModel .

Программный код был написан в QtCreator 3.3.1 на основе Qt 5.4.1.

Структура проекта

В данном уроке структура проекта остается аналогичной проекту из урока по QSqlTableModel.

mainwindow.ui

Внесём дополнительные объекта в главное окно приложения, а именно добавим следующие элементы:

  • dateEditFROM - начальная дата;
  • dateEditTO - конечная дата;
  • timeEditFROM - начальное время;
  • timeEditTO - конечное время;
  • pushButton - кнопка, по нажатию которой будет применяться фильтр.

28 августа 2015 г. 13:34

QtQt/C++ - Урок 011. XML файлы в Qt - чтение и запись

Qt, QXmlStreamReader, QXmlStreamWriter, XML, xml example

Средства разработки Qt включают в себя функционал по работе с XML файлами, который позволяет как создавать XML файлы, так и читать их, что может быть полезно для создания программ по автоматическому созданию XML разметок, конфигурационных файлов, использующих XML , либо для парсинга XML-файлов .

Для записи файлов в формате XML используется класс QXmlStreamWriter, тогда как для чтения XML файлов используется другой класс QXmlStreamReader.

Программный код был написан в QtCreator 3.3.1 на основе Qt 5.4.1.

Структура проекта для работы с XML файлом

В данном проекте используется минимум файлов:

  • XMLExample.pro - профайл;
  • mainwindow.h - заголовочный файл основного окна приложения;
  • mainwindow.cpp - исходный код окна;
  • main.cpp - основной исходный файл, с которого стартует приложение;
  • mainwindow.ui - формочка основного окна приложения;
27 августа 2015 г. 1:00

AVRUSI in Attiny24 - settings of Two-wire mode

Attiny24, USI

USI - Universal Serial Interface (Универсальный последовательный интерфейс) является фактически заготовкой для аппаратных последовательных передачи и приёма данных. Данный интерфейс не является готовым решением для какого-то определённого протокола передачи данных, но позволяет реализовать более удобный способ передачи данных, чем в случае с полностью программным решением.

Суть данного интерфейса заключается в том, что он предлагает аппаратный уровень для передачи и приёма последовательной информации, а логика работы протокола уже возлагается на программную реализацию.

24 сентября 2018 г. 17:42
edorofeeva

C++ - Тест 001. Первая программа и типы данных

  • Результат 100баллов,
  • Очки рейтинга10
24 сентября 2018 г. 17:37
edorofeeva

C++ - Тест 001. Первая программа и типы данных

  • Результат 66баллов,
  • Очки рейтинга-1
23 сентября 2018 г. 14:38
No Names

C++ - Тест 001. Первая программа и типы данных

  • Результат 60баллов,
  • Очки рейтинга-1
Последние комментарии
25 сентября 2018 г. 15:24
pasagir

Qt/C++ - Урок 006. QSqlQueryModel - Таблицы в Qt с помощью SQL-запросов

Это запись метода которая работает параллельно с БД, данные из парсера поступают в БД и в наш метод одновременно
25 сентября 2018 г. 14:56
pasagir

Qt/C++ - Урок 006. QSqlQueryModel - Таблицы в Qt с помощью SQL-запросов

Как можно динамически отображать данные в таблице? На COM-порт непрерывно приходят данные, я их принимаю сохраняю в БД, а после остановка приема/передачи данные отображаются в таблице. В табли...
25 сентября 2018 г. 10:43
Евгений Легоцкой

Qt/C++ - Урок 017. QGraphicsScene или как работать с графикой в Qt

Прямо так не написано. Хотя соглашусь, что в качестве улучшения вызов данного метода здесь к месту.
25 сентября 2018 г. 10:37
reef425

Qt/C++ - Урок 017. QGraphicsScene или как работать с графикой в Qt

В статье написано, что таймер сработает один раз. Но это не так. Было бы хорошо добавить timer->setSingleShot(true); После инициализации таймера.
24 сентября 2018 г. 15:09
Евгений Легоцкой

Qt Linux - Урок 001. Автозапуск Qt приложения под Linux

А вот здесь у меня есть пример использования supervisor. https://evileg.com/ru/post/3/ Вся статья вам там не интересна, интересен только шаг с настройкой supervisor. Он получается ...
Сейчас обсуждают на форуме
25 сентября 2018 г. 15:57
Евгений_Канусовский@1981

Чтение файлов в python

Вот код: import sys from re import matchfrom vira import *from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import (QDialog, QFileDialog, QMessageBox, QLineEdit, QProgr...
25 сентября 2018 г. 13:51
DmitrySD

Трансляция видео с помощью VLC по RTP

Спасибо! Данная команда не дала результата. В итоге сделал трансляцию через ffmpeg. ffmpeg.exe -f gdigrab -framerate 30 -i desktop -vcodec libx264 -preset:v veryfast -b:v 4000k -f...
25 сентября 2018 г. 13:39
Arrow

Настройка Qt Creator для Android

Конечно отпишусь.
25 сентября 2018 г. 12:22
avovana

Автозапуск и авторестарт Qt Gui Application в Linux

Не получается... Решил пробовать скрипт, выполняемый при загрузке. В скрипте вечный цикл по старту программы.
Присоединяйтесь к нам в социальных сетях