1

この問題は Mac でのみ発生します。Winows 7 および XP では、すべて正常に動作します。

QTable Widget では、を使用して特定の列にいくつかの項目を追加していますsetCellWidget()。一方、同じ行の他の列にアイテムを追加するには、setItem(). 縦スクロールバーを使ってみたところ、setItem()ちゃんとスクロールで追加された項目が表示されました。しかし、 によって追加された項目setCellWidget()はまったくスクロールしません。彼らは凍っています。やってみた - [1] スタイルシートを設定してみた - QString scrollStyleSheet = “QTableWidget {}”; // いくつかのバリエーションも試しましたが、これが最も効果的ですui->deviceGridTable->setStyleSheet(scrollStyleSheet );

アイテムが追加されたときにスクロールしない限り、問題なく動作します。新しいアイテムを追加する前または新しいアイテムを追加した後、スクロールすると正常に動作します。ただし、スクロールすると、新しいアイテムが 1 つずつ追加されているときに、先ほど説明したのと同じ古い醜い特性が表示されます。

[2] に設定VerticalScrollModeしてみましたScrollPerPixel。まったく機能しません。

アイテムが追加されている間、垂直スクロールの問題を修正するには、他に何ができますか? ( を使用して追加されたアイテムのみsetCellWidget()

この問題は、Mac OSX 10.8.1 でのみ発生します。Qt 4.8.3 を使用しています

4

1 に答える 1

0

これを試して:

tableWidget.setVisible(0)
tableWidget.setSortingEnabled(0)
... populate tableWidget here ...
tableWidget.setSortingEnabled(1)
tableWidget.setVisible(1)

並べ替えを使用しない場合は、可視性のみを試してください。

于 2013-05-10T10:00:12.697 に答える