[英]PySide QInputDialog.getInt() return value?
文档说该函数返回一个整数: https : //pyside.github.io/docs/pyside/PySide/QtGui/QInputDialog.html#PySide.QtGui.PySide.QtGui.QInputDialog.getInt
但是当我运行以下代码时:
year = QInputDialog.getInt(self, QApplication.applicationName(),
"Enter the year.", QDate().currentDate().year()-1)
print("year = ", year)
...我得到一个2元素元组:
('year = ', (2013, True))
这很公平,但是仍然有所不同。 我想念什么吗?
如果用户按下OK,则QInputDialog的静态成员都将ok
参数(它是一个指针)设置为true
,或者如果他们按下Cancel,则设置为false
。
因此,在C ++中,您需要执行以下操作:
bool ok;
int year = QInputDialog::getInt(
this, QApplication::applicationName(),
tr("Enter the year"), QDate::currentDate().year() - 1,
minimum, maximum, 1, &ok);
if (ok)
...
由于以这种方式修改参数将非常令人讨厌,因此PyQt和PySide都选择将所有值一起返回一个元组。
通常,无论Qt文档指出通过修改参数可以返回多个值的地方,通常都可以假设PyQt和PySide将返回一个元组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.