将 QListWidget 选择与另一个 QListWidget 连接
Connect a QListWidget selection with another QListWidget
edit
SOLVED, i just forgot to initialize found_users
我将两个 QListWidget 合并为一个 window。
左边是我数据库的所有用户列表。
右侧显示与查询结果相关的帐户子集。
我想让右边的 selection 反射到左边。
例如,如果我在左边
usr1
usr2
usr3
usr4
和我select"usr3"在右边的列表,它应该触发左边"usr3"的select离子。
代码如下:
.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);
}
当我 select 他们说右边的东西时,这对我不起作用:
QObject::connect: Cannot connect (null)::itemSelectionChanged() to win_admin::send_to_main_list()
希望我提供的信息足够了。
您收到的错误消息显示了 connect()
调用失败的原因。
QObject::connect: Cannot connect (null)::itemSelectionChanged() to win_admin::send_to_main_list()
它表明传递给 connect()
调用的发件人 QListWidget* found_users
为空。
您可能忘记初始化 found_users
。
edit
SOLVED, i just forgot to initializefound_users
我将两个 QListWidget 合并为一个 window。
左边是我数据库的所有用户列表。
右侧显示与查询结果相关的帐户子集。
我想让右边的 selection 反射到左边。
例如,如果我在左边
usr1
usr2
usr3
usr4
和我select"usr3"在右边的列表,它应该触发左边"usr3"的select离子。
代码如下:
.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);
}
当我 select 他们说右边的东西时,这对我不起作用:
QObject::connect: Cannot connect (null)::itemSelectionChanged() to win_admin::send_to_main_list()
希望我提供的信息足够了。
您收到的错误消息显示了 connect()
调用失败的原因。
QObject::connect: Cannot connect (null)::itemSelectionChanged() to win_admin::send_to_main_list()
它表明传递给 connect()
调用的发件人 QListWidget* found_users
为空。
您可能忘记初始化 found_users
。