Advanced search
Evgenij LegotskojNov. 9, 2019, 5:52 a.m.

PyQt5PyQt5 - Tutorial 008. Working with QTableWidget (Update tutorial 006)

QTableWidget, PyQt5

This will be a small update to the lesson on using QTableWidget in PyQt5

In the previous lesson it was shown how to display some kind of information in QTableWidget. And this lesson will also show how to make some cells editable and non-editable, as well as how to respond to keystrokes inside a QTableWidget

The application will look like this

Ruslan PolupanAug. 9, 2019, 9:16 a.m.

Development diariesПроект iMpos. Часть 011. Просмотр наименований топлива. Экспорт результатов в xlsx файл.

QTableWidget, Qt, xlsx, export

Просмотр наименований топлива.

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

Ruslan PolupanAug. 7, 2019, 10:41 a.m.

Development diariesПроект iMpos. Часть 010. Получение наименований топлива

QTableWidget, QThread

Список АЗС с которыми будем производить дальнейшие действия мы получили.
Создаем слот вызываемый при нажатии на CheckBox на на GroupBox Действия.

void FuelNameDialog::on_groupBoxActions_clicked(bool checked)
{
    if(checked){
        //Очищаем список терминалов передаваемых для дальнейшей обработки
        listTerminals.clear();
        //Добавляем отмеченные терминалы в список
        int rowCount = ui->tableWidgetTerm->rowCount();
        for(int i=0; i<rowCount; ++i){
            QWidget *item = ui->tableWidgetTerm->cellWidget(i,0);
            QCheckBox *checkBox = qobject_cast<QCheckBox*>(item->layout()->itemAt(0)->widget());
            if(checkBox->isChecked()){
               listTerminals.append(ui->tableWidgetTerm->item(i,1)->data(Qt::DisplayRole).toInt());
            }
        }
        //Проверяем что список не пустой
        if(listTerminals.size()==0){
            QMessageBox::warning(this, "Ошибка ввода","Нет выбранных терминалов");
            ui->groupBoxActions->setChecked(false);
            return;
        }
    }
    ui->groupBoxFuel->setEnabled(!checked);
}
Ruslan PolupanAug. 2, 2019, 5:28 a.m.

Development diariesПроект iMpos. Часть 009. Изменение наименований топлива. Выбор терминалов

QTableWidget, qcheckbox, QDialog

Диалог изменения наименований топлива.

Внешний вид диалога.

Диалог полностью создавался в Qt Designer.

Ruslan PolupanJuly 22, 2019, 11:57 a.m.

Development diariesПроект iMpos. Часть 008. Редактирование справочника пользователей

QTableWidgetItem, QAction, QTableWidget, QDialog

Диалог редактирование справочника пользователей

В форме mainwindow.ui добавляем пункт меню Пользователи которому соответвует объект actionUsers. Назначаем ему значок и горячую клавишу.
Создаем Класс формы Qt Designer с именем UsersDialog.
В слоте MainWindow::on_actionUsers_triggered() реализуем вызов диалога Пользователи.

Ruslan PolupanJune 12, 2019, 9:05 a.m.

QtВывод на печать точного содержимого QTableView (QTableWidget)

QPrintPreviewDialog, QTableView, print, QTableWidget, Qt

Доброго времени суток.
Снова в качестве заметки.
Возникла необходимость выводить на печать точную копию содержимого QTableWidget c делегатами и т.д.
Получилось следующее:

Ruslan PolupanApril 17, 2019, 3:58 a.m.

QtПотоки. Параллельные действия.

QTableWidget, QThread, threads

Доброго времени суток!

Нужен совет по много поточности.
Есть вот такая вот табличка.

Столбец статуc хотелось бы получать в потоке для всех записей (АЗС).
Для одной записи я реализовал получение статуса сервера базы данных.

Вопрос в том как делать это д…

MihailllNov. 19, 2018, 7:06 a.m.

QtМожно ли через QTableWidget вывести результат запроса SQL

QTableWidget, Qt

Здравствуйте.

У меня есть QTableWidget .

Вот так делаю запрос в SQLite

 QSqlDatabase SearchDB = QSqlDatabase::addDatabase("QSQLITE");    
SearchDB.setDatabaseName("C:\\CVReader\\ResumeArraySQLite.db");
    if (!SearchDB.open()) {qDebug()<<"not open SQL file";}
Q…
B
BetalOct. 24, 2017, 5:36 a.m.

Qt/n внутри строки в QTableWidget

Qt, QTableWidget

Как внутри строки добавить переход на следующую строку? Я пишу утилитку для чтения лог-файлов и когда добавляю в строку определенный лог, лог идет и с несколькими строчками(т.е. с переходом на новую строку \n).
Внизу скриншот с notepad++. Я хочу сделать так, как там отображается, только Q…

Evgenij LegotskojMarch 15, 2017, 1:10 p.m.

PyQt5PyQt5 - Lesson 006. Work with QTableWidget

Python, PyQt5, QTableWidget

For initial acquaintance with QTableWidget in PyQt5 we will create a table with three columns and one row. When you hover over the table headings, a pop-up message will be displayed. The text in the headers will be aligned to the left edge of the first column, in the middle to the second and to the right of the third column. Also the size of the columns will be adjusted according to the content.

The table will look like this:

Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
k
  • knobu
  • Sept. 23, 2020, 2:34 a.m.

C++ - Test 006. Enumerations

  • Result:60points,
  • Rating points-1
k
  • knobu
  • Sept. 23, 2020, 2:21 a.m.

C++ - Test 005. Structures and Classes

  • Result:91points,
  • Rating points8
k
  • knobu
  • Sept. 23, 2020, 2:16 a.m.

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:80points,
  • Rating points4
Last comments

Qt/C++ - Lesson 006. QSqlQueryModel – Tables in Qt with SQL-query

QSqlTableModel выполняет ряд стандартных операций для одной таблицы из базы данных. Поэтому там и реализован функционал по удалению и редактированию. QSqlQueryModel позволяет выполнить запр…
VB

Qt/C++ - Lesson 006. QSqlQueryModel – Tables in Qt with SQL-query

Добрый день. Хотел спросить вот что. Создал проект на основе QAbstractTableModel. В MainWindow cоответственно создал модель и связал с представлением. Поиск веду по списку элементов модели,…

QCheckBox в качестве делегата QTableView

До тех пор, пока у вас проект содержит только одну таблицу, или несколько то может быть. Когда их будет 1000 и чекбоксы в разных колонках, то без делегатов и переопределения возвращаемых ре…
D
  • Damir
  • Sept. 20, 2020, 3:34 p.m.

QCheckBox в качестве делегата QTableView

bool Node::setData(const QModelIndex& index, const QVariant& value, int role){ switch (index.column()) { case 0: switch (role) { case Qt::CheckStateRole:// <- т…
VB

Qt/C++ - Lesson 004. QSqlTableModel – How to present the table from database?

Почему-то такой метод для обновления не работает, который можно было бы применить в данном примере. То есть в представлении данные удаляются и обновляются, а в базе данных изменений не происходи…
Now discuss on the forum

Как в qml работать с динамически созданными потомками?

В QML есть сборщик мусора, он может удалять объекты не сразу а по ппрошествии времени. Попробуйте при удалении вызывать сборщик мусора принудительно через gc()
VB

Как запустить программу с базой данных PostgreSQL на другом компьютере

Не требует никакую библиотеку, запускается на других компьютерах, где не установлена PostgreSQL, но создать элемент невозможно, тем более отредактировать или удалить.
p
  • prod1s
  • Sept. 24, 2020, 7:12 a.m.

через QT не могу открыть файл SQLite

Вирішення знайшов. Вказав замість назви БД об'єкт класу QSqlDataBase для QSqlQuery. QSqlQuery m_query = QSqlQuery(qSqlDataBase); Після двох днів пошуку рішення, все-таки знайшов…
U

как скрыть елемент с копии виджета

Дело в том, что ui класса находится в private-секции... И из-вне доступ получить, не нарушая канонов - не получится) Можно конечно сделать что-то в духе #define private public, но это для истинн…

MyForm(forms.Form): - непонятка

лично я бы сделал так: в get_context_data я бы генерил основной контекст, в а методах get и post я бы уже добавлял туда формы, правильно инициализированные. Т.е. class MySettingsCha…
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB