C++ 将QListWidget选择与另一个QListWidget连接
编辑C++ 将QListWidget选择与另一个QListWidget连接,c++,qt,qlistwidget,qlistwidgetitem,C++,Qt,Qlistwidget,Qlistwidgetitem,编辑 解决了,我只是忘记初始化found\u用户 我在一个窗口中有两个QListWidget。 左边的是我数据库中所有用户的列表。 右侧显示与查询结果相关的科目子集。 我希望右侧的选择反映在左侧。 例如,如果我在左边有 usr1 usr2 usr3 usr4 我在右边的列表中选择了“usr3”,应该会触发左边的“usr3”选择 代码如下: h .cpp 我希望,我提供的信息足够。您收到的错误消息显示了connect()调用失败的原因 QObject::connect:无法连接(null)::it
解决了,我只是忘记初始化
found\u用户
我在一个窗口中有两个QListWidget。
左边的是我数据库中所有用户的列表。右侧显示与查询结果相关的科目子集。
我希望右侧的选择反映在左侧。
例如,如果我在左边有 usr1
usr2
usr3
usr4 我在右边的列表中选择了“usr3”,应该会触发左边的“usr3”选择 代码如下:
h .cpp
我希望,我提供的信息足够。您收到的错误消息显示了
connect()
调用失败的原因
QObject::connect:无法连接(null)::itemSelectionChanged()以赢得\u管理员::发送\u至\u主\u列表()
它显示传递给connect()
调用的发送方QListWidget*found\u用户为空
你可能忘了初始化found\u users
你初始化found\u users
了吗?哦,你说得对,我忘了。使用解决方案在顶部进行编辑。谢谢
class win_admin : public QWidget{
Q_OBJECT
private:
QListWidget* all_users;
QListWidget* found_users;
public:
[...]
public slots:
void send_to_main_list();
[...]
}
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()