Уведомления

Группа в Telegram: @pythonsu

#1 Март 20, 2018 10:41:33

Hovo
Зарегистрирован: 2018-03-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt5 treewidget filter...

Мне нужна помощь… Есть lineedit и treewidget, как отфильтровать treewidget с помощью lineedit ?

Офлайн

#2 Март 20, 2018 12:07:52

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

pyqt5 treewidget filter...

типа этого ?
или вот еще

Отредактировано papuas (Март 20, 2018 12:09:49)

Офлайн

#3 Март 20, 2018 13:44:07

Hovo
Зарегистрирован: 2018-03-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt5 treewidget filter...

на pyqt5… у меня есть filterName = QtWidgets.QLineEdit(Dialog) и treeProcess = QtWidgets.QTreeWidget(Dialog). Kак отфильтровать treewidget с помощью lineedit ???

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QDate, QTime, QDateTime, QSortFilterProxyModel
from PyQt5.QtWidgets import QDialog , QApplication, QWidget, QVBoxLayout, QLineEdit, QTableView
import process2
import datetime
import time
import pyodbc
from part import *

# HatukVar =
last =


class Process1(object):
def proces1(self, Dialog):
self.Dialog = Dialog
Dialog.setObjectName(“Dialog”)
Dialog.resize(1121, 587)
Dialog.setWindowIcon(QtGui.QIcon('mi.ico'))
self.HatukVariable = 0
self.treeProcess = QtWidgets.QTreeWidget(Dialog)
self.treeProcess.setGeometry(QtCore.QRect(20, 70, 1081, 491))
self.treeProcess.setObjectName(“treeProcess”)
self.treeProcess.header().setDefaultSectionSize(130)
self.treeProcess.header().setMinimumSectionSize(39)
self.addBtn = QtWidgets.QPushButton(Dialog)
self.addBtn.setGeometry(QtCore.QRect(20, 30, 141, 23))
self.addBtn.setObjectName(“addBtn”)
self.delBtn = QtWidgets.QPushButton(Dialog)
self.delBtn.setGeometry(QtCore.QRect(180, 30, 91, 23))
self.delBtn.setObjectName(“delBtn”)
self.editBtn = QtWidgets.QPushButton(Dialog)
self.editBtn.setGeometry(QtCore.QRect(290, 30, 91, 23))
self.editBtn.setObjectName(“editBtn”)
self.refBtn = QtWidgets.QPushButton(Dialog)
self.refBtn.setGeometry(QtCore.QRect(400, 30, 91, 23))
self.refBtn.setObjectName(“refBtn”)


#filter
self.filterName = QtWidgets.QLineEdit(Dialog)
self.filterName.setGeometry(QtCore.QRect(560, 30, 131, 20))
self.filterName.setObjectName(“filterName”)
self.filterDate = QtWidgets.QLineEdit(Dialog)
self.filterDate.setGeometry(QtCore.QRect(710, 30, 131, 20))
self.filterDate.setObjectName(“filterDate”)
self.filterType = QtWidgets.QLineEdit(Dialog)
self.filterType.setGeometry(QtCore.QRect(860, 30, 131, 20))
self.filterType.setObjectName(“filterType”)
self.filterBtn = QtWidgets.QPushButton(Dialog)
self.filterBtn.setGeometry(QtCore.QRect(1010, 30, 91, 23))
self.filterBtn.setObjectName(“filterBtn”)


self.addBtn.clicked.connect(self.Add)
self.editBtn.clicked.connect(self.Edit)
self.treeProcess.itemDoubleClicked.connect(self.Edit)
self.refBtn.clicked.connect(self.Ref)
self.delBtn.clicked.connect(self.Del)


self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
self.Ins()
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate(“Dialog”, “Պրոցեսներ”))
self.treeProcess.headerItem().setText(0, _translate(“Dialog”, “Գրանցման ամսաթիվ”))
self.treeProcess.headerItem().setText(1, _translate(“Dialog”, “Կոդ”))
self.treeProcess.headerItem().setText(2, _translate(“Dialog”, “Անուն”))
self.treeProcess.headerItem().setText(3, _translate(“Dialog”, “Աշխատանքի տեսակ”))
self.treeProcess.headerItem().setText(4, _translate(“Dialog”, “Մեկնաբանություն”))
self.treeProcess.headerItem().setText(5, _translate(“Dialog”, “Կատարման ամսաթիվ”))
self.addBtn.setText(_translate(“Dialog”, “Նոր պրոցես”))
self.delBtn.setText(_translate(“Dialog”, “Ջնջել”))
self.editBtn.setText(_translate(“Dialog”, “Խմբագրել”))
self.refBtn.setText(_translate(“Dialog”, “Թարմացնել”))
self.filterBtn.setText(_translate(“Dialog”, “Ֆիլտր”))

def Ins(self):
list_of_strings =
del list_of_strings
SQL = pyodbc.connect(“DRIVER={SQL Server};server=?????;database=?????;uid=????;pwd=???”, autocommit=True)
cur = SQL.cursor()
list_of_strings = cur.execute('select convert(varchar, RegDate, 22 ), convert(varchar, Code), \
Name, , Comment, convert(varchar, DoneDate , 22) from
PROCESS').fetchall()

l =
for i in list_of_strings:
l.append(QTreeWidgetItem(i))
self.treeProcess.addTopLevelItems(l)

print(l)

def Add(self):
del process2.Hatuk
self.window = QtWidgets.QMainWindow()
self.ui = process2.Process2()
self.ui.proces2(self.window)
process2.Hatuk.append(1)
# i = datetime.datetime.now()
self.ui.date1.insert(time.strftime(“%m/%d/%Y %H:%M:%S”))
self.ui.date2.insert(time.strftime(“%m/%d/%Y %H:%M:%S”))
# MainWindow.hide()/
self.window.show()
# print (process2.HatukVariable)

def Edit(self):
del last
del process2.Hatuk

try:
last.append(self.treeProcess.currentItem().text(0))
last.append(self.treeProcess.currentItem().text(1))
last.append(self.treeProcess.currentItem().text(2))
last.append(self.treeProcess.currentItem().text(3))
last.append(self.treeProcess.currentItem().text(4))
last.append(self.treeProcess.currentItem().text(5))

self.window = QtWidgets.QMainWindow()
self.ui = process2.Process2()
self.ui.proces2(self.window)
process2.Hatuk.append(0)
# i = datetime.datetime.now()
self.ui.date1.insert(self.treeProcess.currentItem().text(0))
self.ui.code.insert(self.treeProcess.currentItem().text(1))
self.ui.name.insert(self.treeProcess.currentItem().text(2))
self.ui.todoDone.setCurrentIndex(self.ui.todoDone.findText(self.treeProcess.currentItem().text(3)))
self.ui.comment.insertPlainText(self.treeProcess.currentItem().text(4))
self.ui.date2.insert(self.treeProcess.currentItem().text(5))
self.window.show()
# MainWindow.hide()/
except AttributeError:
pass

def Del(self):

name = str(self.treeProcess.currentItem().text(2))
code = str(self.treeProcess.currentItem().text(1))
buttonQuestion = QMessageBox.question(self.Dialog, ‘Զգուշացում!’, “Իսկակապե՞ս ուզում եք ջնջել
կոնտակտը ”, QMessageBox.Yes| QMessageBox.No, QMessageBox.No)
if buttonQuestion == QMessageBox.Yes:
self.treeProcess.takeTopLevelItem(self.treeProcess.indexOfTopLevelItem(self.treeProcess.currentItem()))
SQL = pyodbc.connect(“DRIVER={SQL Server};server=???;database=???;uid=???;pwd=?????”, autocommit=True)
cur = SQL.cursor()
print(“delete from PROCESS where Name = N'”+name+“' and Code = ‘”+code+“’”)
cur.execute(“delete from PROCESS where Name = N'”+name+“' and Code = ‘”+code+“’”)
else:
# print('No clicked.')
pass
def Ref(self):
self.treeProcess.clear()
self.Ins()

Офлайн

#4 Март 20, 2018 13:45:48

Hovo
Зарегистрирован: 2018-03-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt5 treewidget filter...

papuas
типа этого ?или вот еще
заранее спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version