4

我有一个 QPushButton、QDateEdit 和另一个自定义对象。我想将按钮连接到日期编辑对象,当我单击按钮时,日期编辑对象会将其设置日期更改为自定义对象上定义的日期。有点像这样:

connect(pushbutton,SIGNAL(clicked()),dateedit,SLOT(setDate(custom_object.getDate())));

但我不能那样做。显然,connect 语句没有指定从信号传递到插槽的信息是什么,只指定传递的信息的类型。有没有办法做到这一点而不必创建一个新类?

4

1 回答 1

5

创建包含该功能的包装函数通常是最简单的。换句话说:

connect(pushbutton, SIGNAL(clicked()), SLOT(setDateFromCustomObject()));

然后,在调用 connect 的同一个类中:

void YourClass::setDateFromCustomObject() {
  dateEdit->setDate(custom_object.getDate());
}

通过使用名为Qxt的外部库,可以使用特定的参数和对象进行连接时间绑定。他们的文档看起来并不完整或最新,但它们确实提供了一些不错的功能。我认为它仅适用于高级用户。

于 2010-03-12T19:59:35.920 回答