繁体   English   中英

PySide QInputDialog.getInt()返回值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM