Python Выделение строки в QTableWidget (НЕ QTableView)https://www.cyberforum.ru/ python-graphics/ thread2697887.html Есть у меня QTableWidget. Хочу реализовать функцию нахождения строк. Пользователь вводит в lineEdit строку. Программа находит все айтемы с данным значением с помощью findItems(). Затем я получаю номера строк, в которых находятся эти айтемы с помощью row(). Остаётся как-то выделить строки, чтобы пользователь мог увидеть где эти значения хранятся. Я не против выделения ячеек с этими значениями или...
Python Как сделать форму поверх остальных форм Здравствуйте. Суть такая. Мне нужно вторую форму в своей программе сделать поверх остальных окон.
Дело вот в чём. Есть заставка. Которая будет показываться на втором экране в режиме "Проецировать -> Расширить". И над окном проигрывателя должен быть таймер. Таймер я сделал, фон формы убрал. Теперь когда я хочу нажать на кнопку первой формы (которая находится на основном экране) то открывалась...
Python Диалог в Qt DesignerДобрый день! Помогите, пожалуйста! Создала в Qt Designer диалог. Назвала файл Ui_My_dialog_ui.ui. В коде создала для него класс My_dialog. В классе MyWidget в функции func_dialog создаю объект класса My_dialog.
1)Как исправить, что после закрытия окна диалога, всё приложение закрывается с ошибкой (Process finished with exit code -1073741819 (0xC0000005))?
2)Как сделать, чтобы когда...https://www.cyberforum.ru/ python-graphics/ thread2697516.html
Python "'PyQt5.QtCore.pyqtBoundSignal' object has no attribute" что сделать, почему его нет?'PyQt5.QtCore.pyqtBoundSignal' object has no attribute 'сonnect' что сделать, почему его нет?
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class App():
def create_file(self):https://www.cyberforum.ru/ python-graphics/ thread2697430.html
Python Не работает потокhttps://www.cyberforum.ru/ python-graphics/ thread2696419.html def go(self, instance): # метод вызова функции go
t = threading.Thread(target=go, args=(go,)).start()
time.sleep(2)
print('o')
выходит ошибка:
t = threading.Thread(target=go, args=(go,)).start()
NameError: name 'go' is not defined
Python Как запустить функцию в отдельном потокеhttps://www.cyberforum.ru/ python-graphics/ thread2696333.html вот моя проблема: я пытаюсь сделать поток для функции но когда запускаю и нажимаю кнопку которая запускает эту функцию то gui не работает пока работает функция(в функции которую я пытаюсь запустить в потоке есть команда time.sleep).А я хотел чтобы она работала отдельно и не мешала основной программе. Я хотел таким образом сделать отсчет времени от использования навыка.
Вот код:
from...
Python Диалоговые окна PySide2 QDialog При вводе любого числа программа выводит диалоговое сообщение, в котором сообщается - Положительное или Отрицательное число.
Программа работает исправно! Но...
Помогите её упростить. Я хочу, чтобы был всего один класс с диалогом.
Мне нужно передавать в этот класс произвольный текст ("Число положительное" или "Равно нулю" или "Отрицательное"),
и чтобы на основе этого текста появлялось...
Python Иконка в трееhttps://www.cyberforum.ru/ python-graphics/ thread2695903.html Программа показывает МЕНЮ при нажатии мышкой по ИКОНКЕ в трее.
Иконка загружается из файла icons/icons/icon.png
Но если файл иконки icon.png отсутствует, то программа всё равно запускается и не выдает никаких ошибок и работает, но иконка не отображается в трее.
КАК СДЕЛАТЬ КОНТРОЛЬ НАЛИЧИЯ ФАЙЛА ИКОНКИ? Чтобы программа выдавала предупреждение об отсутствии файла иконки?
import sys...
Python Kivy in Pythonista 3Здравствуйте!
Как можно добавить kivy в Pythonista 3? Вообще нашёл на просторах интернета скрипт установки stash (понятия не имею что, но это даёт возможность устанавливать модули с pypi.org), далее pip install kivy и у меня есть kivy 1.11.1 в /Python Modules/site-packages-3/ , но как-то не так, как надо - во время установки kivy в какой-либо ОС используется cython, а в процессе установки...https://www.cyberforum.ru/ python-graphics/ thread2695888.html
Kivy Widget Index Python Здравствуйте!
Как обратиться к параметру виджета в kivy по индексу виджета в списке дочерних виджетов?
Пусть на экране есть два виджета: Button и Label. Команда print(len(self.children)) выведет в терминал число 2. Как мне изменить текст виждета Label, зная только его индекс в списке виджетов. self.children.text = ‘мой текст’ текст в виджете не меняет.
Python Контекстное менюСделал программу "МЕНЮ В СИСТЕМНОМ ТРЕЕ рядом с часами"
Если после запуска скрипта я сначала нажимаю по иконке в трее Правой кнопкой мыши, то сразу появляется МЕНЮ как положено - рядом с иконкой. Затем если я нажимаю по иконке Левой кнопкой мыши, то сразу появляется МЕНЮ рядом с иконкой.
Программа работает стабильно.
Но если после запуска
Так, на pyqt5 написал ПО (незаконченное), в котором использую функции для работы с таблицей QTableWidget. Среди этих функций есть функция <НАЙТИ>. Идея такова, что пользователь кликает по lineEdit, записывает строку, нажимает кнопку <НАЙТИ>, а затем ячейки, которые содержат данную строку, меняют цвет фона. В этой функции (find(self) в коде) используется метод findItems, в котором скорее всего и находится ошибка. Дело в том, что любая другая функция пока работает так, как мне нужно. А вот при нажатии на кнопку <НАЙТИ> программа завершается с кодом ошибки -1073740791 (0xC0000409)
from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtWidgetsimport QTableWidgetItem
from table import Ui_MainWindow
from info import Ui_ADD_WINDOW
importsysclass ADDWINDOW(QtWidgets.QMainWindow):
def__init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)self.ui= Ui_ADD_WINDOW()self.ui.setupUi(self)self.ui.label.setText('Вы открыли информационное окно!')self.ui.pushButton.clicked.connect(self.exit)self.ui.pushButton_2.clicked.connect(self.scroll)def exit(self):
self.close()def scroll(self):
self.ui.label.setText('В этом приложении вы найдёте таблицу с некоторой информацией.\n\Эту информацию можно редактировать с помощью различных функций.\n\Отредактировать ячейку можно в любое время двойным щелчком по ней.')self.ui.pushButton_2.clicked.connect(self.scroll_2)def scroll_2(self):
self.ui.label.setText('Функция <ДОБАВИТЬ> позволяет добавлять новые строки в таблицу.\n\Добавленные строки являются пустыми и готовы к редактированию.')self.ui.pushButton_2.clicked.connect(self.scroll_3)def scroll_3(self):
self.ui.label.setText('Функция <УДАЛИТЬ> позволяет удалять строки таблицы.\n\Для этого нажмите на номер строки слева, а затем кнопку <УДАЛИТЬ>.\n\Тоже самое можно сделать с выделением ячейки нужной строки.')self.ui.pushButton_2.clicked.connect(self.scroll_4)def scroll_4(self):
self.ui.label.setText('Функция <ОЧИСТИТЬ> позволяет удалять содержимое таблицы.\n\Внимание! Данная функция удаляет всё содержимое каждой ячейки.')self.ui.pushButton_2.clicked.connect(self.scroll_5)def scroll_5(self):
self.ui.label.setText('Функция <СОРТИРОВАТЬ> позволяет сортировать содержимое таблицы.\n\Для этого нажмите на номер колонки сверху и кнопку <СОРТИРОВАТЬ>.')self.ui.pushButton_2.clicked.connect(self.scroll_6)def scroll_6(self):
self.ui.label.setText('')class mywindow(QtWidgets.QMainWindow):
def__init__(self):
super(mywindow,self).__init__()self.ui= Ui_MainWindow()self.ui.setupUi(self)self.rows=5self.columns=6self.data=[]self.init_UI()def init_UI(self):
self.setWindowTitle('Шахматисты')self.ui.tableWidget.setColumnCount(6)self.ui.tableWidget.setRowCount(5)self.ui.lineEdit.setPlaceholderText('Поле для ввода данных')self.ui.tableWidget.setHorizontalHeaderLabels(('Имя','Возраст','Пол','Страна','Разряд','Чемпион мира'))self.data.append(('Аагнус Карлсун','35','Мужской','Норвегия','Гроссмейстер','Да'))self.data.append(('Магнус Карлсен','30','Мужской','Норвегия','Гроссмейстер','Да'))self.data.append(('Магнус Карлсен','31','Мужской','Норвегия','Гроссмейстер','Да'))self.data.append(('Магнус Карлсен','32','Мужской','Норвегия','Гроссмейстер','Да'))self.data.append(('Багнус Карлсен','33','Мужской','Норвегия','Гроссмейстер','Да'))
row =0for tup inself.data:
col =0for item in tup:
cellinfo = QTableWidgetItem(item)
cellinfo.setTextAlignment(int(QtCore.Qt.AlignVCenter) | int(QtCore.Qt.AlignHCenter))self.ui.tableWidget.setItem(row, col, cellinfo)
col +=1
row +=1self.ui.pushButton_6.clicked.connect(self.clear)self.ui.pushButton_5.clicked.connect(self.delete)self.ui.pushButton_4.clicked.connect(self.insert)self.ui.pushButton.clicked.connect(self.sort)self.ui.pushButton_2.clicked.connect(self.find)self.ui.pushButton_3.clicked.connect(self.ADD)def clear(self):
self.ui.tableWidget.clear()self.data=[]def delete(self):
self.ui.tableWidget.removeRow(self.ui.tableWidget.currentRow())def rewrite(self):
current_list =[]
current_list_of_lists =[]for x inrange(self.ui.tableWidget.rowCount()):
for y inrange(self.ui.tableWidget.columnCount()):
current_list.append(str(self.ui.tableWidget.takeItem(x + 1, y + 1)))
current_list_of_lists.append(current_list)self.data= current_list_of_lists
def insert(self):
self.ui.tableWidget.insertRow(int(self.ui.tableWidget.rowCount()))def sort(self):
self.ui.tableWidget.sortItems(self.ui.tableWidget.currentColumn(),0)def find(self):
string=self.ui.lineEdit.text()ifstring==string.empty():
self.ui.lineEdit.text('Введите информацию')else:
spisok =self.ui.tableWidget.findItems(string, QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive)for x inrange(spisok):
x.setBackgroundColor('red')def ADD(self):
application_2 = ADDWINDOW(self)
application_2.show()
app = QtWidgets.QApplication([])
application = mywindow()
application.show()sys.exit(app.exec())
Файл table.py, созданный с помощью Designer. Основное окно