1

問題: QTableWidget セルにテキスト (10 列) が入力されています。高さのある行をスクロールする行の数(10または100000)に関係なく、3000を超えると非常に遅く、十分にスムーズではないことがわかりました(table.verticalHeader().sectionSize(i)すべての行の高さを調べるために使用しました)。

私がやろうとしたこと:を使用してこれらの行の高さを設定しようとしましtable.setRowHeight(i,3000)たが、それでもそれらの行をスクロールすると、1〜5秒の遅延が発生します。また、その場合、その行のすべてのテキストを表示するために行の高さを手動でサイズ変更する必要があります (かわいいため)。これも遅いです。

質問:すべての小さな行に対して行う必要があるtable.resizeRowsToContent()ため、解決策は、テーブル内のすべての行の高さに制限を設定することだと思います。setMinimumSectionSize() メソッドがありますが、最大サイズのものが見つからないので、どうすればよいですか? 高さが 3000 を超えるすべてのセル内にスクロールバーを配置して、そのセル内のテキストをスクロールできるようにすることはできますか? たぶん、テーブルのスクロールが速くなるでしょうか?

どんな助けでもいただければ幸いです

4

1 に答える 1

1

これが私が解決した方法です。表のセルにテキストを入力しているときに、テキストが1000行を超える場合(text.count("\n"))に入力しQTextEdit()てから設定しsetCellWidgetます。それらをすべて s に入れなかった理由QTextEdit()は、Windows が表示できる GUI 要素の数が限られているため (<20000)、前述のように、10 列 x 最大 100000 行があるためです。

于 2014-01-20T12:44:42.620 に答える