2015-09-03 3 views
0

редактировать
РЕШЕННЫЕ, я просто забыл инициализировать found_usersПодключите выбор QListWidget с другим QListWidget

У меня есть два 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() 

Надеюсь, информация, которую я дал, была достаточной.

+3

Вы инициализировали 'found_users'? –

+0

О, ты прав, я просто забыл об этом. Отредактировано сверху с решением. Благодарю. – Pado

ответ

0

Сообщение об ошибке, которое вы видите, показывает причину, по которой connect() не удалось выполнить вызов.

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

Это показывает, что отправитель QListWidget* found_users передается connect() вызов является недействительным.

Возможно, вы забыли инициализировать found_users.

Смежные вопросы