将QListWidget选择与另一个QListWidget连接

时间:2015-09-03 23:42:52

标签: c++ qt qlistwidget qlistwidgetitem

  

修改
  已解决,我只是忘了初始化found_users

我在一个窗口中有两个QListWidget。 左边的那个是我数据库的所有用户的列表 右侧的那个显示与查询结果相关的帐户子集 我希望右侧的选择能够反映在左侧 例如,如果我在左边

  

USR1
  USR2
  USR3
  usr4

我选择" usr3"在右侧列表中,应该触发选择" usr3"在左边。

以下是代码:
.h

class win_admin : public QWidget{  
    Q_OBJECT  
private:  
    QListWidget* all_users;  
    QListWidget* found_users;  
public:  
[...]  
public slots:  
    void send_to_main_list();  
[...]  
}  

的.cpp

connect (found_users, SIGNAL(itemSelectionChanged()), this, SLOT(send_to_main_list()));
[...]
void win_admin::send_to_main_list() {
    QString usn=found_users->currentItem()->text();
    int i=0;
    while (i<all_users->count() && all_users->item(i)->text()!=usn) {
        ++i;
    }
    if (i<all_users->count()) if (i<all_users->count()) all_users->setCurrentRow(i);
}
当我选择他们说的右边的东西时,这对我不起作用:

QObject::connect: Cannot connect (null)::itemSelectionChanged() to win_admin::send_to_main_list()

我希望,我提供的信息是应该的。

1 个答案:

答案 0 :(得分:0)

您收到的错误消息会显示connect()来电失败的原因。

QObject::connect: Cannot connect (null)::itemSelectionChanged() to win_admin::send_to_main_list()

它表明传递给QListWidget* found_users调用的发件人connect()为空。

您可能忘记初始化found_users

相关问题