Skip to content

Commit 3e03a52

Browse files
authored
Fix for #63 Add QFilterProxy to the elements table (#941)
Fix for #63
1 parent 99811f1 commit 3e03a52

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

qiskit_metal/_gui/main_window.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,16 +560,40 @@ def _setup_elements_widget(self):
560560
"""Create main Window Elements Widget."""
561561
self.elements_win = ElementsWindow(self, self.main_window)
562562

563+
# Component filter
563564
self.ui.tabQGeometry.sort_model = QSortFilterProxyModel()
564565
self.ui.tabQGeometry.sort_model.setSourceModel(self.elements_win.model)
566+
self.ui.tabQGeometry.sort_model.setFilterKeyColumn(1)
565567

566568
self.elements_win.ui.tableElements.setModel(
567569
self.ui.tabQGeometry.sort_model)
568570
self.elements_win.ui.tableElements.setSortingEnabled(True)
569571

572+
# Add a text changed event to the QGeometry/Component/Layer text boxes
573+
self.elements_win.ui.lineEdit.textChanged.connect(
574+
self.elements_lineEdit_onChanged)
575+
self.elements_win.ui.lineEdit_2.textChanged.connect(
576+
self.elements_lineEdit_2_onChanged)
577+
570578
# Add to the tabbed main view
571579
self.ui.tabQGeometry.layout().addWidget(self.elements_win)
572580

581+
def elements_lineEdit_onChanged(self, text):
582+
""" Text changed event for QGeometry/Component text box
583+
Args:
584+
text: Text typed in the filter box.
585+
"""
586+
self.ui.tabQGeometry.sort_model.setFilterKeyColumn(1)
587+
self.ui.tabQGeometry.sort_model.setFilterWildcard(text)
588+
589+
def elements_lineEdit_2_onChanged(self, text):
590+
""" Text changed event for QGeometry/Layer text box
591+
Args:
592+
text: Text typed in the filter box.
593+
"""
594+
self.ui.tabQGeometry.sort_model.setFilterKeyColumn(3)
595+
self.ui.tabQGeometry.sort_model.setFilterWildcard(text)
596+
573597
def _setup_net_list_widget(self):
574598
"""Create main Window Elements Widget."""
575599
self.net_list_win = NetListWindow(self, self.main_window)

0 commit comments

Comments
 (0)