Ошибка с кодом на Python с библиотекой PyQt5
Имеется данный код на Python:
# Импорт библиотек
import os
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
from pattern_gui import Ui_MainWindow
from docxtpl import DocxTemplate
# Новый экземпляр QApplication
app = QApplication(sys.argv)
Window = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(Window)
Window.setFixedSize(640, 480)
Window.show()
row = 3
column = 2
ui.tableWidget = QtWidgets.QTableWidget(row, column)
for row in range(ui.tableWidget.rowCount()):
date_from = QtWidgets.QDateTimeEdit()
date_from.setDateTime(
# так
# QtCore.QDateTime(QtCore.QDate(2021, 9, 4))
# или так
QtCore.QDateTime(QtCore.QDate(2021, 8, 26), QtCore.QTime(15, 0, 0))
)
ui.tableWidget.setCellWidget(row, 0, date_from) # !!!
def buttonLoader():
rows = ui.tableWidget.rowCount()
cols = ui.tableWidget.columnCount()
data = []
for row in range(rows):
tmp = []
for col in range(cols):
try:
tmp.append(ui.tableWidget.item(row, col).text())
except:
tmp.append('')
data.append(tmp)
data_for_word = []
for i in data: print(i)
for i in data:
if i[0] != '':
data_for_word.append(i)
data_for_word = []
for item in data:
# Проверяем, что хотя бы одно значение в строке не пустое
# (даст истину, если в item хотя бы один элемент не пустая строка)
if any(item):
data_for_word.append({
"data": item[0],
"time": item[1],
"ph": item[2],
"ph2": item[3],
"fe": item[4],
"pm": item[5],
"co2": item[6],
"pm2": item[7],
"pm3": item[8]
})
doc = DocxTemplate('Pattern_lke.docx') # Загрузить шаблон (создать новый документ по шаблону)
context = {
'tbl_contents': data_for_word
}
doc.render(context) # Заполнить шаблон по данным из context
doc.save('table.docx') # Сохранить в новый файл
ui.pushButton_2.clicked.connect(buttonLoader)
# Закрытие программы
sys.exit(app.exec_())
Но, при его работе вылезает ошибка:
Traceback (most recent call last):
File "C:\CopyMaster\pattern_log.py", line 21, in <module>
ui.tableWidget = QtWidgets.QTableWidget(row, column)
NameError: name 'QtWidgets' is not defined
Как это исправить?
Ответы (1 шт):
Автор решения: Андрей Александров
→ Ссылка
Помог комментарий @CrazyElf
from PySide2 import QtWidgets