-
Notifications
You must be signed in to change notification settings - Fork 0
/
Completer.py
49 lines (49 loc) · 1.64 KB
/
Completer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from PySide2.QtWidgets import QApplication,QMainWindow,QStatusBar,QPushButton,QLineEdit,QCompleter,QDesktopWidget,QWidget,QGroupBox,QGridLayout,QVBoxLayout
from PySide2.QtGui import QIcon
import sys
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle('My App')
self.setGeometry(100,100,500,500)
self.widget = widget(self)
self.setCentralWidget(self.widget)
self.setIcon()
self.center()
self.Makebar('App ready',3000)
def setIcon(self):
ic = QIcon('download.jpeg')
self.setWindowIcon(ic)
def Makebar(self,msg,dur):
bar = QStatusBar()
bar.showMessage(msg,dur)
self.setStatusBar(bar)
def center(self):
f = self.frameGeometry()
center = QDesktopWidget().frameGeometry().center()
f.moveCenter(center)
self.move(f.topLeft())
class widget(QWidget):
def __init__(self,parent = None):
super(widget, self).__init__(parent)
self.autocomple()
vobx = QVBoxLayout()
vobx.addWidget(self.group)
self.setLayout(vobx)
def autocomple(self):
self.group = QGroupBox('Choose your liked sport:')
grid = QGridLayout()
self.names = ['Football','Cricket','Badminton']
self.comp = QCompleter(self.names)
self.comp.activated.connect(self.grt)
self.line = QLineEdit()
self.line.setCompleter(self.comp)
grid.addWidget(self.line,0,0)
self.group.setLayout(grid)
def grt(self,v):
print(v)
MyApp = QApplication(sys.argv)
win = MainWindow()
win.show()
MyApp.exec_()
sys.exit()