Добавить новость
123ru.net
Все новости
Сентябрь
2022

Написать на Python Qt5 модуля определения активного виджета в окне

0
Мне для экранной клавиатуры нужно определить активный виджет в окне, чтобы выводить туда переменную с набираемым текстом на экранной клавиатуре. Ниже приведу пример принципа который подходит для реализации данной задачи и мой код который не получилось полностью реализовать, он только отрисовывает виджеты, дальше не продвинулся. Надо либо предлагаемый вариант довести до рабочего состояния либо новый написать, такой же по размерам и содержанию.Предлагайте цену за которую готовы сделать, срок как можно быстрее.

Пример принципа:

from PyQt5 import QtWidgets


class MyLineEdit(QtWidgets.QPlainTextEdit):
def __init__(self, id):
QtWidgets.QPlainTextEdit.__init__(self)
self.id = id

def focusInEvent(self, e):
print("Получен фокус полем", self.id)
QtWidgets.QPlainTextEdit.focusInEvent(self, e)

def focusOutEvent(self, e):
print("Потерян фокус полем", self.id)
QtWidgets.QPlainTextEdit.focusOutEvent(self, e)


class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.resize(300, 100)

self.line1 = MyLineEdit(1)
self.line2 = MyLineEdit(2)
self.line3 = MyLineEdit(3)
self.vbox = QtWidgets.QVBoxLayout()

self.vbox.addWidget(self.line1)
self.vbox.addWidget(self.line2)
self.vbox.addWidget(self.line3)
self.setLayout(self.vbox)


if __name__ == "__main__":
import sys

app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
Мой пробный код:
from PyQt5 import QtWidgets
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QPushButton
from PyQt5.QtWidgets import QVBoxLayout, QLabel
from PyQt5.QtGui import QFont
from PyQt5.QtCore import QTimer, QTime, Qt, QDateTime
from PyQt5 import QtCore, QtGui, QtWidgets

class MyQPlainTextEdit(QtWidgets.QPlainTextEdit):
def __init__(self, id):
QtWidgets.QPlainTextEdit.__init__(self)
self.id = id
def focusInEvent(self, e):
print("Получен фокус полем", self.id)
self.setStyleSheet("background-color: yellow; color: red;")
QtWidgets.QPlainTextEdit.focusInEvent(self, e)
def focusOutEvent(self, e):
print("Потерян фокус полем", self.id)
self.setStyleSheet("background-color: white; color: black;")
QtWidgets.QPlainTextEdit.focusOutEvent(self, e)


class MyWindow(QtWidgets.QWidget): # object,
def __init__(self):
super().__init__()
self.setupUi(self)

def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(801, 208)
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(590, 150, 191, 41))
font = QtGui.QFont()
font.setPointSize(12)
self.pushButton.setFont(font)
self.pushButton.setStyleSheet("QPushButton {\n"
" \n"
" background-color: rgb(73, 71, 71);\n"
" color: rgb(255, 255, 255);\n"
" \n"
"}\n"
"\n"
"QPushButton:pressed {\n"
" background-color: rgb(118, 118, 118);\n"
"}")
self.pushButton.setObjectName("pushButton")
self.label_3 = QtWidgets.QLabel(Form)
self.label_3.setGeometry(QtCore.QRect(10, 130, 51, 17))
self.label_3.setObjectName("label_3")
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(10, 40, 151, 21))
self.label.setObjectName("label")
self.label_7 = QtWidgets.QLabel(Form)
self.label_7.setGeometry(QtCore.QRect(310, 130, 67, 17))
self.label_7.setObjectName("label_7")
self.label_9 = QtWidgets.QLabel(Form)
self.label_9.setGeometry(QtCore.QRect(580, 39, 201, 21))
self.label_9.setObjectName("label_9")
self.label_5 = QtWidgets.QLabel(Form)
self.label_5.setGeometry(QtCore.QRect(310, 40, 121, 17))
self.label_5.setObjectName("label_5")
self.label_11 = QtWidgets.QLabel(Form)
self.label_11.setGeometry(QtCore.QRect(-4, -1, 811, 31))
self.label_11.setLayoutDirection(QtCore.Qt.RightToLeft)
self.label_11.setStyleSheet("background-color: rgb(73, 71, 71);\n"
" color: rgb(255, 255, 255);")
self.label_11.setAlignment(QtCore.Qt.AlignCenter)
self.label_11.setObjectName("label_11")

self.plainTextEdit = MyQPlainTextEdit(Form)
# self.plainTextEdit = QtWidgets.QPlainTextEdit(Form)
self.plainTextEdit.setGeometry(QtCore.QRect(10, 60, 291, 70))
self.plainTextEdit.setStyleSheet("background-color: rgb(243, 243, 243);")
self.plainTextEdit.setPlainText("")
self.plainTextEdit.setObjectName("plainTextEdit")
self.plainTextEdit_2 = MyQPlainTextEdit(Form)
# self.plainTextEdit_2 = QtWidgets.QPlainTextEdit(Form)
self.plainTextEdit_2.setGeometry(QtCore.QRect(10, 150, 291, 51))
self.plainTextEdit_2.setStyleSheet("background-color: rgb(243, 243, 243);")
self.plainTextEdit_2.setObjectName("plainTextEdit_2")
self.plainTextEdit_3 = MyQPlainTextEdit(Form)
# self.plainTextEdit_3 = QtWidgets.QPlainTextEdit(Form)
self.plainTextEdit_3.setGeometry(QtCore.QRect(310, 60, 261, 70))
self.plainTextEdit_3.setStyleSheet("background-color: rgb(243, 243, 243);")
self.plainTextEdit_3.setObjectName("plainTextEdit_3")
self.plainTextEdit_4 = MyQPlainTextEdit(Form)
# self.plainTextEdit_4 = QtWidgets.QPlainTextEdit(Form)
self.plainTextEdit_4.setGeometry(QtCore.QRect(310, 150, 261, 51))
self.plainTextEdit_4.setStyleSheet("background-color: rgb(243, 243, 243);")
self.plainTextEdit_4.setObjectName("plainTextEdit_4")
self.plainTextEdit_5 = MyQPlainTextEdit(Form)
# self.plainTextEdit_5 = QtWidgets.QPlainTextEdit(Form)
self.plainTextEdit_5.setGeometry(QtCore.QRect(580, 60, 211, 71))
self.plainTextEdit_5.setStyleSheet("background-color: rgb(243, 243, 243);")
self.plainTextEdit_5.setObjectName("plainTextEdit_5")

self.plainTextEdit.setStyleSheet('background-color: #f0f0f0; border: none')
self.plainTextEdit_2.setStyleSheet('background-color: #f0f0f0; border: none')
self.plainTextEdit_3.setStyleSheet('background-color: #f0f0f0; border: none')
self.plainTextEdit_4.setStyleSheet('background-color: #f0f0f0; border: none')
self.plainTextEdit_5.setStyleSheet('background-color: #f0f0f0; border: none')

self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "СОХРАНИТЬ"))
self.label_3.setText(_translate("Form", "ФИО:"))
self.label.setText(_translate("Form", "Наименование ЛПУ:"))
self.label_7.setText(_translate("Form", "E-mail:"))
self.label_9.setText(_translate("Form", "Создайте пароль доступа:"))
self.label_5.setText(_translate("Form", "Специализация:"))
self.label_11.setText(_translate("Form", "РЕГИСТРАЦИЯ НОВОГО ОПЕРАТОРА"))




if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())





Загрузка...


Губернаторы России

Спорт в России и мире

Загрузка...

Все новости спорта сегодня


Новости тенниса

Загрузка...


123ru.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.


Загрузка...

Загрузка...

Экология в России и мире




Путин в России и мире

Лукашенко в Беларуси и мире



123ru.netмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

123ru.net — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.






Здоровье в России и мире


Частные объявления в Вашем городе, в Вашем регионе и в России






Загрузка...

Загрузка...





Друзья 123ru.net


Информационные партнёры 123ru.net



Спонсоры 123ru.net