QT QLineEdit 调用键盘输入
时间: 2024-02-12 07:31:47 浏览: 170
触屏下用数字按钮对两个QLineEdit对象分别进行输入
可以通过以下两种方式调用键盘输入:
1. 直接在窗口中添加 QLineEdit 控件,并将其设置为可编辑状态,用户点击该控件即可弹出键盘输入。
示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayout
class MyWidget(QWidget):
def __init__(self):
super().__init__()
edit = QLineEdit(self)
edit.setPlaceholderText("请输入文本")
edit.setReadOnly(False)
layout = QVBoxLayout(self)
layout.addWidget(edit)
self.setLayout(layout)
self.setWindowTitle("QLineEdit调用键盘输入")
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
2. 通过调用 QInputDialog 控件中的 getText() 方法来获取用户输入的文本,这种方式不需要添加 QLineEdit 控件。
示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QPushButton, QVBoxLayout
class MyWidget(QWidget):
def __init__(self):
super().__init__()
button = QPushButton("点击输入", self)
button.clicked.connect(self.showInputDialog)
layout = QVBoxLayout(self)
layout.addWidget(button)
self.setLayout(layout)
self.setWindowTitle("QInputDialog调用键盘输入")
def showInputDialog(self):
text, ok = QInputDialog.getText(self, "输入框", "请输入文本:")
if ok:
print("输入的文本为:", text)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
阅读全文