pyqt5点击qlineedit框弹出窗口
时间: 2023-09-03 14:03:04 浏览: 126
在PyQt5中,我们可以使用QLineEdit控件以及QDialog控件配合,实现点击QLineEdit框时弹出窗口的效果。
首先,我们需要导入PyQt5的相关模块:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QLineEdit, QDialog
from PyQt5.QtCore import QSize
```
然后,创建一个继承自QMainWindow的主窗口类,并在该类中定义一个槽函数,用于处理QLineEdit的点击事件:
```python
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 Click QLineEdit Show Dialog")
self.setGeometry(100, 100, 400, 200)
self.lineedit = QLineEdit(self)
self.lineedit.setGeometry(10, 10, 200, 30)
self.lineedit.clicked.connect(self.show_dialog)
def show_dialog(self):
dialog = QDialog(self)
dialog.setWindowTitle("Dialog")
dialog.setFixedSize(QSize(200, 100))
dialog.exec_()
```
在槽函数show_dialog中,我们创建了一个QDialog控件,并设置了其标题和大小,然后通过dialog.exec_()执行该对话框。
最后,我们创建应用程序并显示主窗口:
```python
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
这样,当我们点击QLineEdit控件时,就会弹出一个大小为200x100的对话框。
注意,以上代码只是提供一个基本的示例,你可以根据自己的需求进行定制和扩展。