如何从该行的另一列获取行号并指定工具提示



问题是,我无法遍历整个数据帧,并且对于第1列中特定行中的每个单元格宽度项,指定同一行中其他列的工具提示。

try:
print(f'Sprawdzam czy dana baza danych istnieje...')
self.conn = sqlite3.connect(r'Baza Danych/zestawienie.db', uri=True)
print(f'Baza danych istnieje. Podłączyliśmy się do bazy danych Zestawienie')
self.connection = sqlite3.connect(r'Baza Danych/zestawienie.db')
self.c = self.connection.cursor()

except sqlite3.OperationalError as err:
print('Baza danych nie istnieje. Sprawdź czy plik z bazą został utworzony')
print(err)
# try:

query = "SELECT * FROM Zestawienie"
result = self.connection.execute(query)
self.ui.zestawienie_analiza_tab_2.setRowCount(0)
for row_number, row_data in enumerate(result):
self.ui.zestawienie_analiza_tab_2.insertRow(row_number)
for column_number, data in enumerate(row_data):
self.ui.zestawienie_analiza_tab_2.setItem(row_number, column_number,QTableWidgetItem(str(data)))

上面的代码工作并显示了QTableWidget中的整个数据帧,下面的代码用于从几列中提取文本,并从第1行和第1列中为CellWidgetItem设置工具提示。但是,当我得到超过一百行时,复制并手动指定第2、3、4、5…150行中的每个cellWidgetitem的工具提示将是一个很长的代码。

# if column_number == 1:
#     ToolTip1 = self.ui.zestawienie_analiza_tab_2.item(0,3).text()
#     ToolTip2 = self.ui.zestawienie_analiza_tab_2.item(0,4).text()
#     ToolTip3 = self.ui.zestawienie_analiza_tab_2.item(0,5).text()
#     ToolTip4 = self.ui.zestawienie_analiza_tab_2.item(0,12).text()
#     ToolTip5 = self.ui.zestawienie_analiza_tab_2.item(0,16).text()
#     ToolTip6 = self.ui.zestawienie_analiza_tab_2.item(0,17).text()
#     ToolTip7 = self.ui.zestawienie_analiza_tab_2.item(0,18).text()
#     ToolTip8 = self.ui.zestawienie_analiza_tab_2.item(0,19).text()
#     self.ui.zestawienie_analiza_tab_2.item(0,1).setToolTip('Numer Klienta: ' + ToolTip1 + 'n' +  'Nazwa: ' + ToolTip2 + 'n' + 'Materiał: ' + ToolTip3 + 'n' + 'Kooperacja: ' + ToolTip4 + 'n' + 'Uwagi: ' + ToolTip5  + 'n' + 'Malowanie: ' + ToolTip6 + 'n' + 'Alternatywne malowanie: ' + ToolTip7 + 'n' + 'Alternatywne Malowanie II: ' + ToolTip8)

我尝试了下面的代码来让它工作,但不幸的是我做不到。什么都没发生,但它通过了,所以它没有错误?请给我一个解决方案。非常感谢。

thing = []
if column_number == 1:
for i in range(0):
thing = self.ui.zestawienie_analiza_tab_2.item(i,1)
if thing is not None and thing.text() == '':
ToolTip1 = self.ui.zestawienie_analiza_tab_2.item(i,3).text()
ToolTip2 = self.ui.zestawienie_analiza_tab_2.item(i,4).text()
ToolTip3 = self.ui.zestawienie_analiza_tab_2.item(i,5).text()
ToolTip4 = self.ui.zestawienie_analiza_tab_2.item(i,12).text()
ToolTip5 = self.ui.zestawienie_analiza_tab_2.item(i,16).text()
ToolTip6 = self.ui.zestawienie_analiza_tab_2.item(i,17).text()
ToolTip7 = self.ui.zestawienie_analiza_tab_2.item(i,18).text()
ToolTip8 = self.ui.zestawienie_analiza_tab_2.item(i,19).text()
self.ui.zestawienie_analiza_tab_2.item(i,1).setToolTip('Numer Klienta: ' + ToolTip1 + 'n' +  'Nazwa: ' + ToolTip2 + 'n' + 'Materiał: ' + ToolTip3 + 'n' + 'Kooperacja: ' + ToolTip4 + 'n' + 'Uwagi: ' + ToolTip5  + 'n' + 'Malowanie: ' + ToolTip6 + 'n' + 'Alternatywne malowanie: ' + ToolTip7 + 'n' + 'Alternatywne Malowanie II: ' + ToolTip8)
else:
print('Failed')

对于第1列中的每个项,我指定一个工具提示,其中包含下面描述的列中的信息。我是这样解决的:

a = self.ui.zestawienie_analiza_tab_2.rowCount()
print(str(a))
try:
if column_number == 1:
numer_wiersza = 0
for numer_wiersza in range(a):
ToolTip1 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,3).text()
ToolTip2 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,4).text()
ToolTip3 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,5).text()
ToolTip4 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,12).text()
ToolTip5 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,16).text()
ToolTip6 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,17).text()
ToolTip7 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,18).text()
ToolTip8 = self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,19).text()
self.ui.zestawienie_analiza_tab_2.item(numer_wiersza,1).setToolTip('Numer Klienta: ' + ToolTip1 + 'n' +  'Nazwa: ' + ToolTip2 + 'n' + 'Materiał: ' + ToolTip3 + 'n' + 'Kooperacja: ' + ToolTip4 + 'n' + 'Uwagi: ' + ToolTip5  + 'n' + 'Malowanie: ' + ToolTip6 + 'n' + 'Alternatywne malowanie: ' + ToolTip7 + 'n' + 'Alternatywne Malowanie II: ' + ToolTip8)
numer_wiersza +=1
except:
print("nie działa")

最新更新