clicked()用于QListView的信号

时间:2012-05-18 23:52:25

标签: ruby qt listview signals click

我有一个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')

拜托,有人可以帮助我吗?

2 个答案:

答案 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() }