setWindowModality()
是QWidget的一个函数,用于设置窗口模态性。窗口模态性定义了一个窗口对其他窗口的影响程度。
该函数有以下几个参数选项:
Qt::NonModal
:非模态,允许用户与应用程序中的其他窗口进行交互。Qt::WindowModal
:窗口级别模态,阻止用户与其父窗口及其它同级窗口进行交互。Qt::ApplicationModal
:应用程序级别模态,阻止用户与应用程序中的所有其他窗口进行交互。
以下是使用 setWindowModality()
的示例:
#include <QApplication>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget parent;
parent.setWindowTitle("Parent");
parent.show();
QWidget child(&parent);
child.setWindowTitle("Child");
// 设置子窗口为窗口级别模态
child.setWindowModality(Qt::WindowModal);
child.show();
return app.exec();
}
在上述示例中,我们创建了一个父窗口和一个子窗口,并将子窗口设置为Qt::WindowModal
模态。这意味着当子窗口显示时,用户只能与父窗口进行交互,而不能与其他同级窗口或其他应用程序中的任何窗口进行交互。
请注意,在实际使用中,根据需要选择适当的窗口模态性,并确保在设置模态性时正确处理用户交互和窗口关闭的逻辑。
内容由零声教学AI助手提供,问题来源于学员提问