Python Forum
[PyQt] [Solved]Display Search Results in QTable
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] [Solved]Display Search Results in QTable
#2
a simple filter example

from PyQt5 import QtCore, QtGui, QtWidgets, QtSql


class Widget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setGeometry(50, 50, 800, 600)
        self.edit = QtWidgets.QLineEdit()
        self.combo = QtWidgets.QComboBox()
        self.table = QtWidgets.QTableView()
        self.model = QtSql.QSqlTableModel()
        self.table.setModel(self.model)

        grid = QtWidgets.QGridLayout(self)
        grid.addWidget(self.edit, 0, 0)
        grid.addWidget(self.combo, 0, 1)
        grid.addWidget(self.table, 1, 0, 1, 2)

        self.model.setTable("items")
        self.model.select()

        self.combo.clear()
        for i in range(self.model.columnCount()):
            self.combo.addItem(self.model.headerData(i, QtCore.Qt.Horizontal))
        self.combo.setCurrentIndex(1)

        self.edit.textChanged.connect(self.filter_table)

    def filter_table(self, text):
        f = " {} LIKE '%{}%'".format(self.combo.currentText(), text.lower()) if text else text
        self.model.setFilter(f)
        self.model.select()


def main():
    import sys

    app = QtWidgets.QApplication(sys.argv)

    db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
    db.setDatabaseName("inventory.db")
    if not db.open():
        sys.exit(-1)

    ex = Widget()
    ex.show()
    sys.exit(app.exec_())
    
if __name__ == "__main__":
    main()
Reply


Messages In This Thread
[Solved]Display Search Results in QTable - by Extra - Jun-02-2022, 06:00 PM
RE: Display Search Results in QTable - by Axel_Erfurt - Jun-02-2022, 06:49 PM
RE: Display Search Results in QTable - by Extra - Jun-02-2022, 07:36 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Search data in treeview without search button TomasSanchexx 3 1,862 Aug-12-2023, 03:17 AM
Last Post: deanhystad
  [PyQt] [solved] How to display a pdf-file in a PyQt6 widget BigMan 13 17,159 May-06-2023, 09:27 AM
Last Post: Axel_Erfurt
  [PyQt] [Solved]Display PyQtTable results from A->Z & Z->A Extra 2 1,292 Jul-18-2022, 04:04 PM
Last Post: Extra
  [PyQt] [Solved]Help Adding Sql Results in ComboBox Extra 2 1,348 Jul-07-2022, 09:46 PM
Last Post: Extra
  [PyQt] [Solved]Help Adding results from for loop Extra 2 1,562 Jun-24-2022, 05:01 PM
Last Post: Extra
  How to display results from terminal window onto tkinter. buttercup 0 3,752 Jul-21-2020, 04:41 AM
Last Post: buttercup
  [Tkinter] add search bar = search for input in all computer directory francisco_neves2020 15 11,250 Apr-14-2019, 07:29 PM
Last Post: francisco_neves2020
  Display and update the label text which display the serial value jenkins43 5 9,280 Feb-04-2019, 04:36 AM
Last Post: Larz60+
  Display more than one button in GUI to display MPU6000 Sensor readings barry76 4 4,059 Jan-05-2019, 01:48 PM
Last Post: wuf
  [PyQt] I am unable to connect Qtable widget in another tab? aditech 1 2,566 Sep-13-2018, 04:44 PM
Last Post: Axel_Erfurt

Forum Jump:

User Panel Messages

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