【问题标题】:Qt.FramelessWindowHint not working on QInputDialogQt.FramelessWindowHint 不适用于 QInputDialog
【发布时间】:2021-09-17 17:19:14
【问题描述】:

我正在学习 PySide6,我正在尝试创建一个无框架的 QInputDialog。

当我设置时:

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()

框架仍然出现。为什么?

【问题讨论】:

  • @eyllanesc 已编辑

标签: python pyside pyside6 qinputdialog


【解决方案1】:

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)

【讨论】:

    猜你喜欢
    • 2017-04-08
    • 2015-07-08
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    相关资源
    最近更新 更多