继承者: QAbstractPrintDialog , QPageSetupDialog , QPrintDialog , QPrintPreviewDialog , QColorDialog , QErrorMessage , QFileDialog , QFontDialog , QInputDialog , QMessageBox , QProgressDialog , QWizard
def
adjustPosition
(arg__1)
def
extension
()
def
isSizeGripEnabled
()
def
orientation
()
def
result
()
def
setExtension
(extension)
def
setModal
(modal)
def
setOrientation
(orientation)
def
setResult
(r)
def
setSizeGripEnabled
(arg__1)
def
showExtension
(arg__1)
对话框窗口是顶级窗口,主要用于短期任务和与用户简短交流。QDialogs 可以是模态 (或非模态) 的。QDialogs 可以提供
return value,且它们可以有default buttons。QDialogs 也可拥有QSizeGrip在其右下角,使用setSizeGripEnabled().注意:
QDialog(and any other widget that has typeQt::Dialog) uses the parent widget slightly differently from other classes in Qt. A dialog is always a top-level widget, but if it has a parent, its default location is centered on top of the parent’s top-level widget (if it is not top-level itself). It will also share the parent’s taskbar entry.使用重载
setParent()function to change the ownership of aQDialogwidget. This function allows you to explicitly set the window flags of the reparented widget; using the overloaded function will clear the window flags specifying the window-system properties for the widget (in particular it will reset theDialog标志)。注意
对话框的父级关系 not 隐含对话框将始终被堆叠在父级窗口顶部。要确保对话框始终在顶部,使对话框模态。这也适用于对话框本身的子级窗口。要确保对话框的子级窗口停留在对话框顶部,也使子级窗口模态。
A modal 对话框是在同一应用程序中阻塞其它可见窗口输入的对话框。用于从用户请求文件名 (或用于设置应用程序首选项) 的通常是模态对话框。对话框可以为
application modal(默认) 或window modal.When an application modal dialog is opened, the user must finish interacting with the dialog and close it before they can access any other window in the application. Window modal dialogs only block access to the window associated with the dialog, allowing the user to continue to use other windows in an application.
The most common way to display a modal dialog is to call its
exec()function. When the user closes the dialog,exec()will provide a usefulreturn value. To close the dialog and return the appropriate value, you must connect a default button, e.g. an OK button to theaccept()slot and a Cancel button to thereject()slot. Alternatively, you can call thedone()slot with接受orRejected.An alternative is to call
setModal(true) orsetWindowModality(),那么show()。不像exec(),show()returns control to the caller immediately. CallingsetModal(true) is especially useful for progress dialogs, where the user must have the ability to interact with the dialog, e.g. to cancel a long running operation. If you useshow()andsetModal(true) together to perform a long operation, you must callprocessEvents()periodically during processing to enable the user to interact with the dialog. (SeeQProgressDialog.)
A modeless dialog is a dialog that operates independently of other windows in the same application. Find and replace dialogs in word-processors are often modeless to allow the user to interact with both the application’s main window and with the dialog.
非模态对话框被显示使用
show(), which returns control to the caller immediately.若援引
show()函数在隐藏对话框之后,对话框将显示在其原始位置。这是因为窗口管理器决定程序员未明确放置的窗口位置。要保留用户已移动对话框的位置,把其位置保存在closeEvent()处理程序,然后把对话框移动到该位置,在再次展示它之前。
A dialog’s default button is the button that’s pressed when the user presses Enter (Return). This button is used to signify that the user accepts the dialog’s settings and wants to close the dialog. Use
setDefault(),isDefault()andautoDefault()to set and control the dialog’s default button.
若用户在对话框中按 Esc 键,
reject()will be called. This will cause the window to close: Theclose event不能是ignored.
Extensibility is the ability to show the dialog in two ways: a partial dialog that shows the most commonly used options, and a full dialog that shows all the options. Typically an extensible dialog will initially appear as a partial dialog, but with a More toggle button. If the user presses the More button down, the dialog is expanded. The 扩展范例 shows how to achieve extensible dialogs using Qt.
Modal dialogs are often used in situations where a return value is required, e.g. to indicate whether the user pressed OK or Cancel. A dialog can be closed by calling the
accept()或reject()slots, andexec()will return接受orRejectedas appropriate. Theexec()call returns the result of the dialog. The result is also available fromresult()if the dialog has not been destroyed.In order to modify your dialog’s close behavior, you can reimplement the functions
accept(),reject()ordone()。closeEvent()function should only be reimplemented to preserve the dialog’s position or to override the standard close or reject behavior.
模态对话框:
def countWords(self): dialog = WordCountDialog(self) dialog.setWordCount(document().wordCount()) dialog.exec_()非模态对话框:
def find(self): if not self.findDialog: self.findDialog = FindDialog(self) self.findDialog.findNext.connect(self.findNext) self.findDialog.show() self.findDialog.raise() self.findDialog.activateWindow()
QDialog
(
[
parent=None
[
,
f=Qt.WindowFlags()
]
]
)
¶
- param f
WindowFlags- param parent
构造对话框采用父级
parent
.
A dialog is always a top-level widget, but if it has a parent, its default location is centered on top of the parent. It will also share the parent’s taskbar entry.
The widget flags
f
are passed on to the
QWidget
constructor. If, for example, you don’t want a What’s This button in the title bar of the dialog, pass
WindowTitleHint
|
WindowSystemMenuHint
in
f
.
另请参阅
PySide2.QtWidgets.QDialog.
DialogCode
¶
由模态对话框返回的值。
|
常量 |
描述 |
|---|---|
|
QDialog.Accepted |
|
|
QDialog.Rejected |
PySide2.QtWidgets.QDialog.
accept
(
)
¶
隐藏模态对话框并将结果代码设为
接受
.
PySide2.QtWidgets.QDialog.
accepted
(
)
¶
PySide2.QtWidgets.QDialog.
done
(
arg__1
)
¶
arg__1
–
int
关闭对话框并将其结果代码设为
r
。
finished()
signal will emit
r
; if
r
is
接受
or
Rejected
,
accepted()
或
rejected()
signals will also be emitted, respectively.
If this dialog is shown with
exec()
, also causes the local event loop to finish, and
exec()
to return
r
.
As with
close()
, deletes the dialog if the
WA_DeleteOnClose
flag is set. If the dialog is the application’s main widget, the application terminates. If the dialog is the last window closed, the
lastWindowClosed()
信号被发射。
另请参阅
accept()
reject()
activeWindow()
quit()
PySide2.QtWidgets.QDialog.
exec_
(
)
¶
int
把对话框展示成
modal
dialog
,阻塞直到用户关闭它。函数返回
DialogCode
结果。
若对话框是
application
modal
, users cannot interact with any other window in the same application until they close the dialog. If the dialog is
window
modal
, only interaction with the parent window is blocked while the dialog is open. By default, the dialog is application modal.
注意
Avoid using this function; instead, use
open()
. Unlike ,
open()
is asynchronous, and does not spin an additional event loop. This prevents a series of dangerous bugs from happening (e.g. deleting the dialog’s parent while the dialog is open via ). When using
open()
you can connect to the
finished()
signal of
QDialog
to be notified when the dialog is closed.
PySide2.QtWidgets.QDialog.
extension
(
)
¶
注意
此函数被弃用。
Returns the dialog’s extension or
None
if no extension has been defined.
Instead of using this functionality, we recommend that you simply call
show()
or
hide()
on the part of the dialog that you want to use as an extension. See the
扩展范例
了解细节。
PySide2.QtWidgets.QDialog.
finished
(
result
)
¶
result
–
int
PySide2.QtWidgets.QDialog.
isSizeGripEnabled
(
)
¶
bool
PySide2.QtWidgets.QDialog.
open
(
)
¶
把对话框展示成
window
modal
dialog
,立即返回。
另请参阅
exec()
show()
result()
setWindowModality()
PySide2.QtWidgets.QDialog.
orientation
(
)
¶
取向
注意
此函数被弃用。
Returns the dialog’s extension orientation.
Instead of using this functionality, we recommend that you simply call
show()
or
hide()
on the part of the dialog that you want to use as an extension. See the
扩展范例
了解细节。
PySide2.QtWidgets.QDialog.
reject
(
)
¶
隐藏模态对话框并将结果代码设为
Rejected
.
PySide2.QtWidgets.QDialog.
rejected
(
)
¶
PySide2.QtWidgets.QDialog.
result
(
)
¶
int
In general returns the modal dialog’s result code,
接受
or
Rejected
.
注意
When called on a
QMessageBox
instance, the returned value is a value of the
StandardButton
枚举。
Do not call this function if the dialog was constructed with the
WA_DeleteOnClose
属性。
另请参阅
PySide2.QtWidgets.QDialog.
setExtension
(
extension
)
¶
extension
–
QWidget
注意
此函数被弃用。
Sets the widget,
extension
, to be the dialog’s extension, deleting any previous extension. The dialog takes ownership of the extension. Note that if
None
is passed, any existing extension will be deleted. This function must only be called while the dialog is hidden.
Instead of using this functionality, we recommend that you simply call
show()
or
hide()
on the part of the dialog that you want to use as an extension. See the
扩展范例
了解细节。
PySide2.QtWidgets.QDialog.
setModal
(
modal
)
¶
modal
–
bool
PySide2.QtWidgets.QDialog.
setOrientation
(
orientation
)
¶
orientation
–
取向
注意
此函数被弃用。
若
orientation
is
Horizontal
, the extension will be displayed to the right of the dialog’s main area. If
orientation
is
Vertical
, the extension will be displayed below the dialog’s main area.
Instead of using this functionality, we recommend that you simply call
show()
or
hide()
on the part of the dialog that you want to use as an extension. See the
扩展范例
了解细节。
PySide2.QtWidgets.QDialog.
setResult
(
r
)
¶
r
–
int
Sets the modal dialog’s result code to
i
.
注意
We recommend that you use one of the values defined by
DialogCode
.
另请参阅
PySide2.QtWidgets.QDialog.
setSizeGripEnabled
(
arg__1
)
¶
arg__1
–
bool
另请参阅
PySide2.QtWidgets.QDialog.
showExtension
(
arg__1
)
¶
arg__1
–
bool
注意
此函数被弃用。
若
showIt
is true, the dialog’s extension is shown; otherwise the extension is hidden.
Instead of using this functionality, we recommend that you simply call
show()
or
hide()
on the part of the dialog that you want to use as an extension. See the
扩展范例
了解细节。