pyside6 q虚拟键盘不可点击

问题描述 投票:0回答:1

我有以下最小示例,其中包含一个触发带有文本区域的对话框的按钮。虚拟键盘在屏幕上正确显示,但按钮不可点击

import os
import os
from PySide6.QtWidgets import QApplication, QMainWindow, QTextEdit
from PySide6.QtWidgets import QVBoxLayout, QDialog, QPushButton



def trigger():
    dlg = QDialog()
    text_edit = QTextEdit()
    layout = QVBoxLayout()
    layout.addWidget(text_edit)
    dlg.setLayout(layout)
    dlg.exec()


os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"

app = QApplication([])

btn = QPushButton('Trigger')
btn.clicked.connect(lambda: trigger())

window = QMainWindow()
window.setCentralWidget(btn)
window.show()

app.exec()

如果我删除对话框并将

QTextArea
直接设置为
QMainWindow
,它就可以正常工作。有人知道如何让它发挥作用吗?

python-3.x pyside6 qtvirtualkeyboard
1个回答
0
投票

使用

exec
打开对话框会阻塞,因此您应该使用
open
来代替。这可能意味着您需要保留对对话框的引用,因为
open
会立即返回。

© www.soinside.com 2019 - 2024. All rights reserved.