Python Forum
[PyQt] how to transform pyqt4 code to pyqt5 code
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] how to transform pyqt4 code to pyqt5 code
#2
change delimiter='\t' in line 37 and line 56 to your delimiter

if your delimiter is comma

delimiter=','

I've changed buttons layout.

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys, csv
 
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
 
class Window(QWidget):
    def __init__(self, rows, columns):
        QWidget.__init__(self)
        self.table = QTableWidget(rows, columns, self)
        for column in range(columns - 1):
            for row in range(rows - 1):
                item = QTableWidgetItem('Text%d' % row)
                self.table.setItem(row, column, item)
        self.buttonOpen = QPushButton('Open', self)
        self.buttonOpen.setFixedWidth(100)
        self.buttonSave = QPushButton('Save', self)
        self.buttonSave.setFixedWidth(100)
        self.buttonOpen.clicked.connect(self.handleOpen)
        self.buttonSave.clicked.connect(self.handleSave)
        layout = QVBoxLayout(self)
        layout.addWidget(self.table)
        empty = QWidget()
        btnGroup = QHBoxLayout()
        btnGroup.addWidget(self.buttonOpen)
        btnGroup.addWidget(self.buttonSave)
        btnGroup.addWidget(empty)
        layout.addLayout(btnGroup)
 
    def handleSave(self):
        path,_ = QFileDialog.getSaveFileName(
                self, 'Save File', '', 'CSV(*.csv)')
        if path:
            with open(path, 'w') as stream:
                writer = csv.writer(stream, delimiter='\t')
                for row in range(self.table.rowCount()):
                    rowdata = []
                    for column in range(self.table.columnCount()):
                        item = self.table.item(row, column)
                        if item is not None:
                            rowdata.append(
                                item.text())
                        else:
                            rowdata.append('')
                    writer.writerow(rowdata)
 
    def handleOpen(self):
        path,_ = QFileDialog.getOpenFileName(
                self, 'Open File', '', 'CSV Files(*.csv)')
        if path:
            with open(path, 'r') as stream:
                self.table.setRowCount(0)
                self.table.setColumnCount(0)
                for rowdata in csv.reader(stream, delimiter='\t'):
                    row = self.table.rowCount()
                    self.table.insertRow(row)
                    self.table.setColumnCount(len(rowdata))
                    for column, data in enumerate(rowdata):
                        item = QTableWidgetItem(data)
                        self.table.setItem(row, column, item)
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
    window = Window(10, 5)
    window.resize(640, 480)
    window.show()
    sys.exit(app.exec_())
Reply


Messages In This Thread
RE: how to transform pyqt4 code to pyqt5 code - by Axel_Erfurt - Jan-17-2020, 10:31 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Arduino Code to Python Code boogeyman1 3 2,415 Jan-07-2022, 11:36 AM
Last Post: Larz60+
  Huge code problems (buttons(PyQt5),PyQt5 Threads, Windows etc) ZenWoR 0 2,819 Apr-06-2019, 11:15 PM
Last Post: ZenWoR
  [PyQt] PyQt4 dynamic QComboBox littleGreenDude 4 5,667 Jan-02-2019, 07:22 PM
Last Post: littleGreenDude
  [PyQt] PyQt4 handle dynamic checkbox click littleGreenDude 1 6,574 Dec-27-2018, 09:17 PM
Last Post: littleGreenDude
  PyQt4 installation frustration littleGreenDude 4 4,535 Dec-27-2018, 04:29 PM
Last Post: littleGreenDude
  [PyQt4] Is it right python coding scheme between TCP Server Thread and GUI class ? KimTom 3 3,243 Sep-18-2018, 01:21 PM
Last Post: Alfalfa
  How to Integrate PyQt4 Custom Widget with Qt Designer Zukias 1 3,908 Aug-29-2018, 05:33 PM
Last Post: Zukias
  Updating Python version from command prompt and Conversion from PyQt4 to PyQt5 Vysero 4 4,945 Jul-19-2018, 03:15 PM
Last Post: Vysero
  Trouble displaying an image in PyQt4 Vysero 2 3,092 Jul-01-2018, 05:25 PM
Last Post: Alfalfa
  [PyQt] problem with PyQt4 jss15497 0 2,756 Jan-16-2018, 08:32 AM
Last Post: jss15497

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020