Combobox 如何向QtRuby中的第一列单元格添加组合框?

Combobox 如何向QtRuby中的第一列单元格添加组合框?,combobox,qtruby,Combobox,Qtruby,我一直在尝试将一个包含四个项目的简单组合框添加到一个愚蠢的表格小部件单元格中,但仍然无法将其放置在正确的行和列中。我能得到的最好结果是,只有当我告诉组合框它的父对象是表小部件时,它才会显示出来,问题是它位于表小部件的x0y0位置。我使用setCellWidget方法,但无论我在其中指定了哪一行和哪一列,它仍然不会填充正确的单元格。那我该怎么办 我在中找到了这个例子,但每当我尝试在ruby上实现一个ruby风格的版本时,它就是不起作用。这段代码完成了您想要的:生成一个n×m表,并在给定的单元格中插

我一直在尝试将一个包含四个项目的简单组合框添加到一个愚蠢的表格小部件单元格中,但仍然无法将其放置在正确的行和列中。我能得到的最好结果是,只有当我告诉组合框它的父对象是表小部件时,它才会显示出来,问题是它位于表小部件的x0y0位置。我使用setCellWidget方法,但无论我在其中指定了哪一行和哪一列,它仍然不会填充正确的单元格。那我该怎么办


我在中找到了这个例子,但每当我尝试在ruby上实现一个ruby风格的版本时,它就是不起作用。

这段代码完成了您想要的:生成一个n×m表,并在给定的单元格中插入一个组合框,在第4行/第2列

require 'Qt4'

qt_app = Qt::Application.new(ARGV)
win    = Qt::Dialog.new
win.show

table_widget   = Qt::TableWidget.new(win)
layout         = Qt::GridLayout.new(win)    # not required
layout.addWidget(table_widget)              # not required

rows    = table_widget.rowCount    = 7
columns = table_widget.columnCount = 4
(0..rows-1).each do |row|
  (0..columns-1).each do |column|
    text = "cell #{row}/#{column}"
    table_widget.setItem(row,column, Qt::TableWidgetItem.new(text))
  end
end

combo_box = Qt::ComboBox.new(table_widget)
combo_box.insertItems(0, ["one", "two", "three", "four", "five"])

table_widget.setCellWidget(4, 2, combo_box)
table_widget.show

qt_app.exec

你能把你的密码贴出来吗?老实说,我的密码应该很糟糕。如果有人能发布一个简短但有效的示例,说明如何将组合框添加到表格小部件(Qt::TableWidget),我将非常感激。假设我想把它插入第1行第3列。