Я получаю некоторые странности с QtRuby при использовании TableWidget. Виджет таблицы загружается, но когда вы нажимаете на элементы в строке, приложение segfaults и сбои.RubyQt Crashing on 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
Цепочка вызовов, кажется, подразумевает, что он бомбит в 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
Если я переопределить mousePressEvent и mouseMoveEvent, эти виды аварий больше не произойдет. Я делаю что-то неправильно здесь, или могу ли я сделать это как ошибку в QtRuby?
Я на fedora11 с установлены следующие пакеты:
QtRuby-4.4.0-1.fc11.i586 рубин-1.8.6.369-1.fc11.i586
Эти сбои также происходят при запуске скрипта в Windows.
Можем ли мы получить всю обратную трассу? а не только два кадра стека? Проблема может быть глубже, чем обработчики событий –
Backtrace здесь: http://gja.in/pub/qt-ruby-backtrace.txt – gja