我有一个ListView,当我单击一行时,我需要显示有关此行的更多信息。 我的问题是clicked()信号不适用于ListView。 当我初始化我的应用程序时,我在控制台
中得到以下输出Object :: connect:没有这样的信号QListView :: clicked(index)
Object :: connect :(发件人姓名:'appointmentments_list')
当我连续点击时,没有任何事情发生。
class GUICustomerAppointmentDetail < Qt::Widget
def initialize (parent = nil, customer = nil)
super(parent)
...
@ui.appointments_list.connect(SIGNAL('clicked(index)'), self, SLOT('load_data()'))
end
end
appointmentments_list是Qt :: ListView
我已经取代了
@ ui.appointments_list.connect(SIGNAL('clicked(index)'),self, SLOT( 'load_data()'))
通过
connect(appointmentments_list.connect,SIGNAL('clicked(index)'),self, SLOT( 'load_data()'))
我得到了
Object :: connect:没有这样的信号QListView :: clicked(index)
Object :: connect :(发件人姓名:'appointmentments_list')
Object :: connect :(接收者名称:'customerAppointmentDetail')
也
@ ui.appointments_list.connect(SIGNAL('clicked(index)')){load_data()}
我得到了
Object :: connect:没有这样的信号QListView :: clicked(index)
Object :: connect :(发件人姓名:'appointmentments_list')
拜托,有人可以帮助我吗?
答案 0 :(得分:2)
什么都没发生,仍然无法正常工作,但我找到了excellent gem并且效果很好!
这个宝石允许我写:
appointments_list.clicked.connect { load_data() }
答案 1 :(得分:1)
这个指数是什么?你用Qmodelindex输入了它吗?
尝试
@ui.appointments_list.connect(SIGNAL('clicked(QModelIndex&)')){ load_data() }
而不是
@ui.appointments_list.connect(SIGNAL('clicked(index)')){ load_data() }