簡體   English   中英

如何確保Qt表格單元格上的所有數據都可見?

[英]How to make sure all of the data on a Qt table cell is visible?

我目前正在使用PyQt4使用python 2.7。 但是,C ++中的解決方案可能會有所幫助。

我正在使用QTableWidget創建一個表。 該表在我的應用程序上的空間有限,並且不可編輯。 表中的一些單元格包含大量數據。 其中一些對用戶不可見。 我正在尋找一個解決方案,以顯示所有單元格的數據,而不會使表格更大。 我試圖為細胞設置不同的標志,但它讓我無處可去。

我想為細胞設置一個滾動條。 可能嗎?

為了確保表格不可編輯,我使用了:

table.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)

我也試過用 -

table.item(row_index, col_index).setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)

在表中的每個單元格上,但它得到了相同的結果 - 沒有編輯+只有一些數據是可見的。

IMAGE:我正在尋找一個選項,以確保用戶可以看到(2,2)的所有數據,即“aaaaaa ......”。 也許在該單元格內設置垂直滾動條是解決方案? 如果是這樣,怎么辦?

一種可能的解決方案是在QHeaderView :: ResizeToContents中設置水平標頭的resizeMode

from PyQt4 import QtCore, QtGui

if __name__ == "__main__":
    import sys

    app = QtGui.QApplication(sys.argv)
    w = QtGui.QTableWidget(4, 2)
    w.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
    header = w.horizontalHeader()
    header.setResizeMode(QtGui.QHeaderView.ResizeToContents)

    for i in range(w.rowCount()):
        for j in range(w.columnCount()):
            it = QtGui.QTableWidgetItem("item ({}-{})".format(i, j))
            w.setItem(i, j, it)
    w.item(2, 1).setText("a" * 20)
    w.show()
    sys.exit(app.exec_())

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM