Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2021, 21:47   #1
Artur221
Пользователь
 
Регистрация: 18.03.2021
Сообщений: 26
По умолчанию как установить ширину для столбца

подскажите,как сделать так чтобы столбцы в форме имели нужный мне размер при переносе данных с файла эксэля(36-50 строки)?
Код:
import sys
import pandas
from PySide2 import QtWidgets, QtCore
 
 
class TableModel(QtCore.QAbstractTableModel):
    def __init__(self, parent: QtWidgets.QWidget = None):
        QtCore.QAbstractTableModel.__init__(self, parent)
 
        self.data_frame = pandas.DataFrame()
 
        if isinstance(parent, QtWidgets.QTableView):
            parent.setModel(self)
 
    def rowCount(self, parent: QtCore.QModelIndex = ...) -> int:
        return len(self.data_frame)
 
    def columnCount(self, parent: QtCore.QModelIndex = ...) -> int:
        return len(self.data_frame.columns)
 
 
    def data(self, index: QtCore.QModelIndex, role: QtCore.Qt.ItemDataRole = ...) -> any:
        if role == QtCore.Qt.DisplayRole:
            records = self.data_frame.to_records()
            return str(records[index.row()][index.column() + 1])
 
 
class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent: QtWidgets.QWidget = None):
        QtWidgets.QMainWindow.__init__(self, parent)
 
        self.menu_bar = QtWidgets.QMenuBar(self)
        menu_file = self.menu_bar.addMenu("Файл")
        menu_file.addAction("Открыть", self.file_open)
 
        self.table_widget = QtWidgets.QTableView(self)
        self.table_widget.setColumnWidth(0, 1000)
        self.table_widget.setColumnWidth(1, 1000)
        self.table_widget.setColumnWidth(2, 1000)
        self.table_widget.setColumnWidth(3, 1000)
        self.table_widget.setColumnWidth(4, 500)
        self.table_widget.setColumnWidth(5, 2000)
        self.table_widget.setColumnWidth(6, 500)
        self.table_widget.setColumnWidth(7, 900)
        self.table_widget.setColumnWidth(8, 2000)
        self.table_widget.setColumnWidth(9, 500)
        self.table_widget.setColumnWidth(10, 900)
        self.table_widget.setColumnWidth(11, 200)
        self.table_widget.setColumnWidth(12, 500)
        self.table_model = TableModel(self.table_widget)
        self.setMenuBar(self.menu_bar)
        self.setCentralWidget(self.table_widget)
 
 
        if not parent:
            self.show()
 
    def file_open(self) -> bool:
        file_name, ok = QtWidgets.QFileDialog.getOpenFileName(self)
        if ok:
            self.table_model.beginResetModel()
            self.table_model.data_frame = pandas.read_excel(
                file_name, sheet_name="пров-ка", usecols="A:AD")
            self.table_model.endResetModel()
            return True
        return False
 
 
 
 
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main = MainWindow()
    sys.exit(app.exec_())
Artur221 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить ширину поля 10 символов ,точность 6 цифр и вместо пропусков установить символ подчеркивания? Korol12 Общие вопросы C/C++ 1 15.05.2020 18:13
Как подогнать ширину столбца комбобокса под текст? Скрипт Win Api 2 15.03.2015 11:02
Как изменить ширину одного столбца dataGridView? dima1257 C# (си шарп) 2 09.01.2014 11:18
VBA как установить формат дата для N-го столбца в ListBox'е АННА-ЕАО Microsoft Office Excel 13 08.03.2013 18:47
Установить ширину столбца. Elden Microsoft Office Excel 4 10.11.2009 15:07

Реклама для незарегистрированных, регистрация на форуме