ich habe eine Tabelle mit dem QTableWidget erstellt. Klicke ich in diese Tabelle, wird die entsprechende Zelle markiert.
Anstatt einer Zelle möchte ich gerne die komplette Zeile markiert haben (rein aus optischen Gründen)
UI Datei
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>368</width>
<height>294</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QTableWidget" name="tableWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>351</width>
<height>271</height>
</rect>
</property>
<row>
<property name="text">
<string>Zeile 1</string>
</property>
</row>
<row>
<property name="text">
<string>Zeile 2</string>
</property>
</row>
<row>
<property name="text">
<string>Zeile 3</string>
</property>
</row>
<row>
<property name="text">
<string>Zeile 4</string>
</property>
</row>
<row>
<property name="text">
<string>Zeile 5</string>
</property>
</row>
<column>
<property name="text">
<string>Name</string>
</property>
</column>
<column>
<property name="text">
<string>Ort</string>
</property>
</column>
<column>
<property name="text">
<string>Jahr</string>
</property>
</column>
<item row="0" column="0">
<property name="text">
<string>Max</string>
</property>
</item>
<item row="0" column="1">
<property name="text">
<string>Berlin</string>
</property>
</item>
<item row="0" column="2">
<property name="text">
<string>1958</string>
</property>
</item>
<item row="1" column="0">
<property name="text">
<string>Lisa</string>
</property>
</item>
<item row="1" column="1">
<property name="text">
<string>München</string>
</property>
</item>
<item row="1" column="2">
<property name="text">
<string>2004</string>
</property>
</item>
<item row="2" column="0">
<property name="text">
<string>Hannes</string>
</property>
</item>
<item row="2" column="1">
<property name="text">
<string>Hamburg</string>
</property>
</item>
<item row="2" column="2">
<property name="text">
<string>1999</string>
</property>
</item>
<item row="3" column="0">
<property name="text">
<string>Hildegard</string>
</property>
</item>
<item row="3" column="1">
<property name="text">
<string>Bremen</string>
</property>
</item>
<item row="3" column="2">
<property name="text">
<string>1952</string>
</property>
</item>
<item row="4" column="0">
<property name="text">
<string>Olaf</string>
</property>
</item>
<item row="4" column="1">
<property name="text">
<string>Kassel</string>
</property>
</item>
<item row="4" column="2">
<property name="text">
<string>1987</string>
</property>
</item>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Code: Alles auswählen
import sys
from PyQt6.uic import loadUi
from PyQt6.QtWidgets import QApplication, QMainWindow, QTableWidget
class MyApp(QMainWindow):
def __init__(self):
super().__init__()
loadUi('myapp.ui', self)
# Tabelle Einstellungen
self.tableWidget.setColumnWidth(0, 100)
self.tableWidget.setColumnWidth(1, 100)
self.tableWidget.setColumnWidth(2, 50)
# soll beim Klick auf eine Zelle die ganze Zeile auswählen
#self.tableWidget.setSelectionBehavior(QTableWidget.selectRow)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec())
Egal wo ich hin klicke, ich möchte das immer die ganze Zeile markiert wird. Hat jemand eine Idee?
Meine Versuche funktionieren leider nicht und im Netz finde ich nur Beispiele für PyQt4 und PyQt5, das funktioniert in der 6er Version anscheinend aber nicht mehr.
https://stackoverflow.com/questions/778 ... ew-in-pyqt