PySide公司QInputDialog.getInt()返回值?

2024-04-29 13:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

文档中说函数返回一个整数: 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元元组:

^{pr2}$

这很公平,但还是有区别的。我错过了什么?在


Tags: 函数代码文档httpsiogithubdocshtml
1条回答
网友
1楼 · 发布于 2024-04-29 13:21:41

如果用户按了OK,static members of 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将返回一个元组。在

相关问题 更多 >