Как получить текст из qlineedit pyqt5
Перейти к содержимому

Как получить текст из qlineedit pyqt5

  • автор:

Как получить текст из QLineEdit ( PyQt5 )?

Я создал окошко с кнопкой и QLineEdit, мне нужно при нажатии на кнопку, чтобы проверился текст в QLinwEdit и если он , например равен 123, то сделать так чтобы появилось диалоговое окно. Помогите пожалуйста.

  • Вопрос задан более трёх лет назад
  • 19888 просмотров

Комментировать

Решения вопроса 1

Сергей Горностаев @sergey-gornostaev Куратор тега Python

Седой и строгий

# -*- encoding: utf-8 -*- import sys from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import (QMainWindow, QApplication, QWidget, QPushButton, QAction, QLineEdit, QMessageBox) class App(QMainWindow): def __init__(self): super().__init__() self.title = 'Тест' self.left = 200 self.top = 200 self.width = 400 self.height = 140 self.initUI() def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) self.textbox = QLineEdit(self) self.textbox.move(20, 20) self.textbox.resize(280, 40) self.button = QPushButton('Показать', self) self.button.move(20, 80) self.button.clicked.connect(self.on_click) self.show() @pyqtSlot() def on_click(self): textboxValue = self.textbox.text() QMessageBox.question(self, 'Введено', textboxValue, QMessageBox.Ok, QMessageBox.Ok) self.textbox.setText("") if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_())

Ответ написан более трёх лет назад

Нравится 5 5 комментариев

Как получить текст из qlineedit pyqt5

Шаг 104.
Библиотека PyQt5. Основные компоненты. Однострочное текстовое поле. Основные методы и сигналы

На этом шаге мы начнем перечислять основные методы и сигналы .


    setText (< Текст >) — помещает указанный текст в поле. Метод является слотом;


  • Normal ( или 0) — показывать символы как они были введены;
  • NoEcho ( или 1) — не показывать вводимые символы;
  • Password ( или 2) — вместо символов выводить звездочки (*);
  • PasswordEchoOnEdit ( или 3) — показывать символы при вводе, а после потери фокуса вместо них отображать звездочки (*);

lineEdit = QtWidgets.QLineEdit() arr = ["кадр", "каменный", "камень", "камера"] completer = QtWidgets.QCompleter(arr, parent=window) lineEdit.setCompleter(completer)

На следующем шаге мы закончим изучение этого вопроса .

Как получить текст из QLineEdit

Мне необходимо достать из QLineEdit текст и узнать его длину. Пробовала вызывать len(QLineEdit) , но выдаёт ошибку, подскажите как сделать.

Отслеживать
75.3k 120 120 золотых знаков 38 38 серебряных знаков 57 57 бронзовых знаков
задан 15 ноя 2020 в 12:37
23 1 1 серебряный знак 3 3 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Узнать длину lineEdit :

len(self.lineEdit.text()) 

Динамический это выглядит так:

import sys from PyQt5.QtWidgets import * class Widget(QWidget): def __init__(self): super().__init__() self.label = QLabel() self.lineEdit = QLineEdit() self.lineEdit.textEdited.connect(self.my_slot_function) lay = QVBoxLayout(self) lay.addWidget(self.lineEdit) lay.addWidget(self.label) def my_slot_function(self, text): self.label.setText(f'Длина строки: ') # print(len(self.lineEdit.text())) if __name__ == '__main__': app = QApplication(sys.argv) w = Widget() w.show() sys.exit(app.exec_()) 

введите сюда описание изображения

Отслеживать
ответ дан 15 ноя 2020 в 13:06
75.3k 120 120 золотых знаков 38 38 серебряных знаков 57 57 бронзовых знаков
спасибо большое
15 ноя 2020 в 13:35

  • python
  • python-3.x
  • pyqt5
  • pyqt
  • qlineedit
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.5.3.8609

Python. Как из присвоить текст из qlineedit в переменную?

Нужно, чтобы переменная взяла текст из qlineedit. Смотрел много тем, где использовали self(не совсем разобрался, как с ним сделать так), python я только начал изучать и код из интернета взял, хочу сделать из консольного приложения как windows forms(через qt designer). Только никак не могу разобраться, как передать в переменную значение из qlineedit? Надеюсь на вашу помощь.

Смотрите переменную face_id, пробовал text, setText, selectedText, но я делаю что-то не так.
Можете изменить этот код, чтобы переменная получила значение lineEdit_2, а дальше по вашему примеру я уже сам разберусь для других lineEdit.

from PyQt5 import QtCore, QtGui, QtWidgets import sys import cv2 import os from ui import Ui_Form # Создание приложения app = QtWidgets.QApplication(sys.argv) # Создание формы и модулей UI # if __name__ == "__main__": Form = QtWidgets.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() # Логика приложения def b1(): cam = cv2.VideoCapture(0) cam.set(3, 640) # set video width 640 cam.set(4, 480) # set video height 480 face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # For each person, enter one numeric face id # Тут нужно переменной face_id получить значение lineEdit_2 face_id = ui.lineEdit_2.text # Initialize individual sampling face count count = 0 while (True): ret, img = cam.read() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_detector.detectMultiScale(gray, 1.3, 5) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2) count += 1 cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y + h, x:x + w]) cv2.imshow('image', img) k = cv2.waitKey(100) & 0xff # Press 'ESC' for exiting video if k == 27: break elif count >= 5: # Take 5 - 30 face sample and stop video break #print("\n [INFO] Exiting Program and cleanup stuff") cam.release() cv2.destroyAllWindows() ui.pushButton.clicked.connect(b1) # Запуск приложения sys.exit(app.exec_())

60682b783bd28622566199.png

Интерфейс:

  • Вопрос задан более трёх лет назад
  • 1038 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *