Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 23.05.2021
Сообщений: 9
PyQt5

Добавить чекбоксы в заголовки столбцов таблицы

05.02.2022, 23:26. Показов 4721. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возможно ли для каждого столбца таблицы, рядом с названием столбца поставить чекбокс?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2022, 23:26
Ответы с готовыми решениями:

Передать заголовки столбцов таблицы
Здравствуйте! Помогите с таким вопросом. На форме разместил виджет QTableWidget. В него передаю содержимое загружаемого csv-файла....

Как добавить инкрементированные заголовки для столбцов в панде?
import pandas as pd md={'key1': , 'key2': } df=pd.DataFrame.from_dict(md, orient='index').reset_index() #rasscet chisla ...

Сортировка столбцов таблицы по клику на заголовки
не могу отсортировать таблицу (щелкаем на заголовок столбца, сортируется столбец) <!DOCTYPE html> <html...

23
0 / 0 / 0
Регистрация: 23.05.2021
Сообщений: 9
21.02.2022, 09:50  [ТС]
Студворк — интернет-сервис помощи студентам
Добрый день!
Я так и не разобрался, каким образом, можно получить список отмеченных столбцов, вне class HeaderView?
Т.е. я хочу по нажатию кнопки записать в переменную, список отмеченных столбцов. Функция on_state_changed все верно показывает какие столбцы я отмечаю.
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
21.02.2022, 10:37
Лучший ответ Сообщение было отмечено gk-nk как решение

Решение

Python
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
from PyQt5.QtWidgets import (QApplication, QTableView, QTableWidget,
QHeaderView, QStyleOptionButton, QStyle, QWidget, QGridLayout, QPushButton)
from PyQt5.QtGui import QStandardItemModel, QFont
from PyQt5.QtCore import Qt, pyqtSignal, QSize, QRect
 
class HeaderView(QHeaderView):
    def __init__(self, orientation=Qt.Horizontal, parent=None):
        super().__init__(orientation, parent)
        self.setSectionsClickable(True)
        self.sectionClicked.connect(self.on_clicked)
        self.sectionCountChanged.connect(self.on_count_changed)
        
    def on_count_changed(self):
        self.state = [True for _ in range(self.count())]
        
    def get_state(self):
        return [i for i in range(len(self.state)) if self.state[i]]
        
    def on_clicked(self, idx):
        self.state[idx] ^= True
        
    def paintSection(self, painter, rect, logicalIndex):
        painter.save()
        QHeaderView.paintSection(self, painter, rect, logicalIndex)
        painter.restore()
        option = QStyleOptionButton()
        option.initFrom(self)
        option.rect = QRect(rect.left(), rect.top(), 20, 20)
        if self.state[logicalIndex]: option.state |= QStyle.State_On
        else: option.state |= QStyle.State_Off
        self.style().drawPrimitive(QStyle.PE_IndicatorCheckBox, option, painter)
 
class W(QWidget):
    def __init__(self):
        super().__init__()
        self.head = HeaderView()
        grid = QGridLayout(self)
        table = QTableWidget(3,4)
        table.setHorizontalHeader(self.head)
        table.setHorizontalHeaderLabels(['один','два','шестнадцать','четыре'])
        btn = QPushButton('State')
        btn.clicked.connect(self.on_btn)
        grid.addWidget(table)
        grid.addWidget(btn)
        
    def on_btn(self):
        t = self.head.get_state()
        print(t)
 
 
app = QApplication([])
w = W()
w.show()
app.exec()
1
0 / 0 / 0
Регистрация: 23.05.2021
Сообщений: 9
21.02.2022, 16:43  [ТС]
Огромное спасибо! Изучая ваш код, начинаю потихоньку вникать в тонкости. Увидел в своем коде кучу глупых ошибок.
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
22.02.2022, 01:37
Цитата Сообщение от gk-nk Посмотреть сообщение
начинаю потихоньку вникать в тонкости
Прохоренок погуглите книги по PyQt5
для вхождения в тему годно, много примеров базовых
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2022, 01:37
Помогаю со студенческими работами здесь

Заголовки столбцов из значений другой таблицы
Приветствую. sql, C#, windows forms Имеются несколько готовый таблиц... ...

Нужно добавить в оба массива заголовки строк и столбцов
public partial class Form1 : Form { float a = new float; int i, j, n, m; public Form1() { ...

Переименовать заголовки столбцов (шапку) таблицы listview
Есть таблица listview с 2 столбцами. Возможно ли при нажатии на кнопку переименовать шапку таблицы? Например шапка таблицы - Марка |...

Как скрыть заголовки столбцов таблицы jTable?
Как скрыть заголовки столбцов таблицы jTable?

Как в combobox добавить название(заголовки)таблицы
Здравствуйте.Как можно на форме в combobox добавить название(заголовки)таблицы путем цикла vb


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru