2013-03-08 6 views
1

Эта проблема наблюдается только на Mac. В Winows 7 и XP все работает нормально.Вертикальная полоса прокрутки с QtableWidget

В QTable Widget я добавляю некоторые элементы в определенных столбцах, используя setCellWidget(). В то время как для добавления элементов в другие столбцы той же строки я использую setItem(). Когда я попытался использовать вертикальную полосу прокрутки, элементы, добавленные с помощью setItem(), прокрутятся правильно. Но элементы, добавленные setCellWidget(), не прокручиваются вообще. Они заморожены. Что я пытался - [1] Я попробовал установить таблицу стилей - QString scrollStyleSheet = "QTableWidget {}"; // Пробовал несколько вариаций, но это работает наилучшим образом ui->deviceGridTable->setStyleSheet(scrollStyleSheet);

Это прекрасно работает, пока я не прокручиваю, когда предметы добавляются. Перед добавлением новых элементов или после добавления новых элементов, если я прокручиваю, он отлично работает. Однако, если я прокручиваю, в то время как новые iterms добавляются один за другим, он показывает те же самые старые уродливые символы, которые я только что описал.

[2] Я попытался установить VerticalScrollMode на ScrollPerPixel. Это не работает вообще.

Что еще я могу попытаться решить проблему вертикальной прокрутки во время добавления элементов? . (Только для тех элементов, которые добавляются с помощью setCellWidget()

Проблема только на Mac OSX 10.8.1 Я использую Qt 4.8.3

ответ

0

Попробуйте это:.

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

Если вы не используйте сортировку, а затем попробуйте только с видимостью.

Смежные вопросы