擅长:python、mysql、java
<p><code>QtWidgets.QMessageBox.StandardButtons</code>在PyQt6中使用<a href="https://docs.python.org/3/library/enum.html#enum.Flag" rel="nofollow noreferrer">^{<cd2>}</a>实现,而<code>QDialog.exec()</code>返回一个<code>int</code>。遗憾的是,这些无法直接比较,但您仍然可以使用:</p>
<pre class="lang-py prettyprint-override"><code>if x == QtWidgets.QMessageBox.StandardButtons.Yes.value:
print("Hello!")
</code></pre>
<p>注意,惯用的<code>x == int(Yes)</code>也不起作用</p>
<p>PyQt5使用了一个包装的自定义<code>StandardButtons</code>类(键入<code>Yes | No</code>来查看),而不是另一个答案所声称的<a href="https://docs.python.org/3/library/enum.html#intenum" rel="nofollow noreferrer">^{<cd8>}</a>。一个<code>IntEnum</code>本来是一个合乎逻辑的选择,但是因为它特别允许int比较</p>