Qt.FramelessWindowHint不在QInputDialog上工作

2024-04-18 17:15:39 发布

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

我正在学习PySide6,并试图创建一个无框架对话框

当我设定:

from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QInputDialog, QMainWindow


app = QApplication()

input_dialog = QInputDialog(flags=Qt.FramelessWindowHint)
text, ok = input_dialog.getText(QMainWindow(), 'input dialog', 'Is this ok?')
if ok:
    print(text)

app.exec()

框架仍然出现。为什么?

enter image description here


1条回答
网友
1楼 · 发布于 2024-04-18 17:15:39

getText方法是静态的,因此input_dialog不是显示的窗口,而是在内部创建了QInputDialog的实例,因此必须通过该方法传递标志:

from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QInputDialog

app = QApplication()

text, ok = QInputDialog.getText(
    None, "input dialog", "Is this ok?", flags=Qt.FramelessWindowHint
)
if ok:
    print(text)

相关问题 更多 >