Вот мой код, я создаю формат таблицы с использованием табличного представления. Он состоит из 4 столбцов для этих столбцов. Я хочу добавить имена заголовков, такие как имя файла, размер и дата изменения, но не хочу добавлять любые имена для моих кнопок. Так что вы можете указать мне, как я могу добавить имена заголовков только для файла, даты и даты, измененных в моем табличном представлении
Ниже приведен мой код:
import sys
import os
import csv
import datetime
from PySide import QtGui, QtCore
class ViewWidget(QtGui.QWidget):
dirPath = "C:\raghava\main project"
def __init__(self, x, index, parent=None):
super(ViewWidget, self).__init__(parent)
self.p_index = QtCore.QPersistentModelIndex(index)
self.content_button = QtGui.QWidget(self)
lay = QtGui.QHBoxLayout(self.content_button)
lay.setContentsMargins(0, 0, 0,0)
self.label = QtGui.QLineEdit()
self.label.setText(datetime.datetime.today().strftime('%d-%m-%Y'))
self.label.setReadOnly(True)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label1 = QtGui.QLineEdit()
self.label1.setText(self.dirPath)
self.label1.setReadOnly(True)
self.label1.resize(250, 100)
self.label1.setAlignment(QtCore.Qt.AlignRight)
lay.addWidget(self.label)
lay.addWidget(self.label1)
self.content_button.move(x, 0)
class Example(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Example, self).__init__(parent)
self.dirPath = ViewWidget.dirPath
self.open_file()
self.file_data=""
def open_file(self):
self.setCentralWidget(QtGui.QWidget())
layout = QtGui. QGridLayout(self.centralWidget())
self.model =QtGui.QStandardItemModel(self)
self.tableView = QtGui.QTableView()
self.tableView.setModel(self.model)
self.tableView.horizontalHeader().setStretchLastSection(True)
self.tableView.clicked.connect(self.onClick)
self.tableView.verticalHeader().hide()
self.tableView.horizontalHeader().hide()
self.appendRowItems(self.dirPath)
layout.addWidget(self.tableView)
self.resize(1300,500)
def appendRowItems(self, dir_path):
for root, dirs, files in os.walk(dir_path):
if root == dir_path:
for file in files:
item = QtGui.QStandardItem(file)
item.setData(os.path.join(root, file))
self.model.appendRow(item)
ix = self.model.indexFromItem(item)
self.tableView.setIndexWidget(ix, ViewWidget(1270, ix))
@QtCore.Slot(QtCore.QModelIndex)
def onClick(self, ix):
pass
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
eg = Example()
vw= ViewWidget(1270,QtGui.QStandardItemModel().indexFromItem(QtGui.QStandardItem("./adding_buttons.py")))
eg.show()
sys.exit(app.exec_())