我有一个QPushButton,QDateEdit和另一个自定义对象。我想将按钮连接到日期编辑对象,当我单击按钮时,日期编辑对象将其设置日期更改为自定义对象上定义的日期。有点像这样:
connect(pushbutton,SIGNAL(clicked()),dateedit,SLOT(setDate(custom_object.getDate())));
但我做不到。显然,connect语句没有指定从信号传递到插槽的信息是什么,只是传递信息的类型。有没有办法在不必创建新类的情况下执行此操作?
答案 0 :(得分:5)
创建包含该功能的包装函数通常最简单。换句话说:
connect(pushbutton, SIGNAL(clicked()), SLOT(setDateFromCustomObject()));
然后,在调用connect的同一个类中:
void YourClass::setDateFromCustomObject() {
dateEdit->setDate(custom_object.getDate());
}
可以通过使用名为Qxt的外部库来与特定参数和对象进行连接时绑定。它看起来不像他们的文档是完整的或最新的,但它们确实提供了一些不错的功能。我认为它只适用于高级用户。