python qt5 增加文本框_PyQt5 文本输入框自动补全 QLineEdit

一、QCompleter类

- 自动补全会用到的一个类

主要代码

def init_lineedit(self):

# 增加自动补全

self.completer = QCompleter(items_list)

# 设置匹配模式 有三种: Qt.MatchStartsWith 开头匹配(默认) Qt.MatchContains 内容匹配 Qt.MatchEndsWith 结尾匹配

self.completer.setFilterMode(Qt.MatchContains)

# 设置补全模式 有三种: QCompleter.PopupCompletion(默认) QCompleter.InlineCompletion QCompleter.UnfilteredPopupCompletion

self.completer.setCompletionMode(QCompleter.PopupCompletion)

# 给lineedit设置补全器

self.lineedit.setCompleter(self.completer)

def init_combobox(self):

# 增加选项元素

for i in range(len(items_list)):

self.combobox.addItem(items_list[i])

self.combobox.setCurrentIndex(-1)

# 增加自动补全

self.completer = QCompleter(items_list)

self.completer.setFilterMode(Qt.MatchContains)

self.completer.setCompletionMode(QCompleter.PopupCompletion)

self.combobox.setCompleter(self.completer)

完整代码:

import sys

from PyQt5.QtWidgets import *

from PyQt5.QtGui import *

from PyQt5.QtCore import *

################################################

items_list=["C","C++","Java","Python","JavaScript","C#","Swift","go","Ruby","Lua","PHP"]

################################################

class Widget(QWidget):

def __init__(self, *args, **kwargs):

super(Widget, self).__init__(*args, **kwargs)

layout = QHBoxLayout(self)

self.lineedit = QLineEdit(self, minimumWidth=200)

self.combobox = QComboBox(self, minimumWidth=200)

self.combobox.setEditable(True)

layout.addWidget(QLabel("QLineEdit", self))

layout.addWidget(self.lineedit)

layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))

layout.addWidget(QLabel("QComboBox", self))

layout.addWidget(self.combobox)

#初始化combobox

<
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python PyQt5可以用来创建登录注册界面。登录界面通常包括用户名和密码输入框,以及登录按钮。注册界面通常包括用户名、密码、确认密码和注册按钮。以下是一个简单的Python PyQt5登录注册界面的示例代码: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton class Login(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('登录') self.resize(300, 200) self.username_label = QLabel('用户名:', self) self.username_label.move(50, 50) self.username_edit = QLineEdit(self) self.username_edit.move(100, 50) self.password_label = QLabel('密码:', self) self.password_label.move(50, 80) self.password_edit = QLineEdit(self) self.password_edit.move(100, 80) self.login_button = QPushButton('登录', self) self.login_button.move(100, 120) self.login_button.clicked.connect(self.login) def login(self): username = self.username_edit.text() password = self.password_edit.text() # TODO: 验证用户名和密码是否正确 print('登录成功') class Register(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('注册') self.resize(300, 200) self.username_label = QLabel('用户名:', self) self.username_label.move(50, 50) self.username_edit = QLineEdit(self) self.username_edit.move(100, 50) self.password_label = QLabel('密码:', self) self.password_label.move(50, 80) self.password_edit = QLineEdit(self) self.password_edit.move(100, 80) self.confirm_password_label = QLabel('确认密码:', self) self.confirm_password_label.move(20, 110) self.confirm_password_edit = QLineEdit(self) self.confirm_password_edit.move(100, 110) self.register_button = QPushButton('注册', self) self.register_button.move(100, 150) self.register_button.clicked.connect(self.register) def register(self): username = self.username_edit.text() password = self.password_edit.text() confirm_password = self.confirm_password_edit.text() # TODO: 验证用户名和密码是否符合要求,并且两次输入的密码是否一致 print('注册成功') if __name__ == '__main__': app = QApplication(sys.argv) login = Login() register = Register() login.show() sys.exit(app.exec_()) ``` 在这个示例代码中,我们创建了两个窗口,一个是登录窗口,一个是注册窗口。每个窗口都包括了一些标签、文本框和按钮。我们可以通过继承QWidget类来创建自定义窗口。在initUI方法中,我们设置了窗口的标题、大小和布局。我们还创建了一些标签、文本框和按钮,并将它们添加到窗口中。我们还为按钮添加了一个点击事件处理程序,当用户单击按钮时,将调用相应的方法。在login方法和register方法中,我们获取了用户名和密码,并进行了一些验证。如果验证成功,我们将打印“登录成功”或“注册成功”消息。 ### 回答2: Python是目前非常流行的编程语言之一,拥有丰富的开源库和工具,使得很多开发者选择使用Python来开发各种应用程序,包括图形界面程序。PyQt5Python语言的一个图形用户界面(GUI)工具包,它是 PyQt4 的后续版本,使用更加便捷。此处,我们将讨论如何利用PythonPyQt5来开发一个登录注册界面。 首先,我们要准备好开发环境。Python环境、PyQt5库、Qt Designer工具都是必备的,使用pip install pyqt5即可安装。 接下来,我们可以使用Qt Designer的可视化工具来创建登录注册界面,设计好的界面保存为.ui文件,然后可以使用pyuic5命令将它转换为对应的.py文件,这里就不赘述。在转换完成后,我们就可以基于这个.ui文件来编写自己的登录注册界面程序了。 其中,我们需要使用一些PyQt5提供的模块来实现一些基本的界面布局,如QHBoxLayout和QVBoxLayout用于设置水平和垂直布局;使用QLabel来添加标签;使用QLineEdit来获取用户输入的信息;使用QComboBox来添加下拉框等组件。同时,我们还需要使用QPushButton等控件来添加按钮,以实现用户登录、注册等操作。 在编写逻辑的过程中,我们可以使用Python语言的一些基本语法来实现逻辑功能,如使用if-else语句来判断用户输入是否符合规范;使用for循环语句来遍历列表或集合等。 最后,我们将整个程序调试完毕后,就可以使用pyinstaller将.py文件转换为.exe可执行文件,方便用户安装和使用。 总之,利用PythonPyQt5开发登录注册界面程序,主要涉及到了Qt Designer工具、PyQt5库、Python语言等方面的知识,需要一定的编程基础和对图形用户界面开发的理解。但是,通过不断的学习和练习,我们可以掌握这项技能,并成功地开发出自己的登录注册界面程序。 ### 回答3: Python是一种简单易用且功能强大的编程语言,它可以用来开发各种类型的应用程序,包括桌面应用程序和移动应用程序。而PyQt5Python语言的一个GUI编程工具包,可以让我们轻松地创建出菜单、按钮、组合框等GUI控件。在这里我们将讲解如何利用PythonPyQt5实现一个登录注册界面。 首先,我们需要安装PyQt5。在安装PyQt5之前,我们需要确保已经安装了Python的最新版本。安装PyQt5有多种方法,其中一种简单的方式是通过终端运行以下命令: ```pip install PyQt5``` 安装完成后,我们就可以开始编写登录注册界面的代码了。以下是一个简单的登录注册窗口的代码: ```python # 导入PyQt5模块 from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton # 创建一个继承自QMainWindow的窗口类 class LoginWindow(QMainWindow): def __init__(self): super().__init__() # 创建窗口元素:输入框和按钮 self.username_label = QLabel(self) self.username_label.setText('用户名:') self.username_label.move(50, 30) self.username_input = QLineEdit(self) self.username_input.move(120, 30) self.username_input.resize(200, 30) self.password_label = QLabel(self) self.password_label.setText('密码:') self.password_label.move(50, 70) self.password_input = QLineEdit(self) self.password_input.move(120, 70) self.password_input.resize(200, 30) self.login_button = QPushButton(self) self.login_button.setText('登录') self.login_button.move(50, 120) self.login_button.clicked.connect(self.login) self.register_button = QPushButton(self) self.register_button.setText('注册') self.register_button.move(200, 120) self.register_button.clicked.connect(self.register) # 登录函数 def login(self): username = self.username_input.text() password = self.password_input.text() # 处理用户名和密码,进行登录验证 # 注册函数 def register(self): username = self.username_input.text() password = self.password_input.text() # 处理用户名和密码,进行用户注册 # 创建一个应用程序实例 app = QApplication([]) # 创建一个登录窗口实例,并显示 login_window = LoginWindow() login_window.show() # 开始事件循环 app.exec_() ``` 以上代码创建了一个继承自QMainWindow的窗口,并在窗口中加入了用户名和密码输入框以及登录和注册按钮。这些GUI控件可以通过PyQt5提供的类(如QLineEdit和QPushButton)来进行创建和布局。 在登录和注册函数中,我们可以获取用户输入的用户名和密码,然后进行相应的处理。对于登录函数,我们需要对用户名和密码进行验证;对于注册函数,我们需要将新的用户名和密码保存到数据库中。 最后,我们需要创建一个应用程序实例,并将登录窗口显示出来。这样,我们就成功地实现了一个简单的登录注册界面。 当然,这只是一个简单的例子,实际应用中还需要结合数据库和文件操作等技术来实现更复杂的功能。但是通过学习这个例子,我们可以初步了解PythonPyQt5的使用方法,为后续的开发铺垫。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值