Je commence à être bizarre avec QtRuby lorsque j'utilise un TableWidget. Le widget de la table se charge, mais lorsque vous cliquez sur les éléments de la ligne, l'application segfaults et se bloque.RubyQt Crashing sur QTableWidget
require 'Qt4'
class SimpleModel < Qt::AbstractTableModel
def rowCount(parent)
return 1
end
def columnCount(parent)
return 1
end
def data(index, role=Qt::DisplayRole)
return Qt::Variant.new("Really Long String") if index.row == 0 and index.column == 0 and role == Qt::DisplayRole
return Qt::Variant.new
end
end
Qt::Application.new(ARGV) do
Qt::TableWidget.new(1, 1) do
set_model SimpleModel.new
show
end
exec
end
Le semble impliquer backtrace qu'il bombarde dans mousePressEvent
#6 0x01624643 in QAbstractItemView::pressed(QModelIndex const&)() from /usr/lib/libQtGui.so.4
#7 0x016306f5 in QAbstractItemView::mousePressEvent(QMouseEvent*)() from /usr/lib/libQtGui.so.4
Si j'Override mousePressEvent et mouseMoveEvent, ce genre d'accidents ne se produisent. Est-ce que je fais quelque chose de mal ici, ou est-ce que je peux décrire cela comme un bug dans QtRuby?
Je suis sur fedora11, avec les paquetages suivants:
QtRuby-4.4.0-1.fc11.i586 rubis 1.8.6.369-1.fc11.i586
Ces accidents aussi se produire lors de l'exécution du script sur Windows.
Pouvons-nous obtenir le backtrace entier? plutôt que seulement deux cadres de pile? Le problème peut être plus profond que les gestionnaires d'événements –
Backtrace ici: http://gja.in/pub/qt-ruby-backtrace.txt – gja