PyQt初學
爲了參加明年的一個比賽開始了qt的學習,雖然說最初說的是需要學習Qt c++ 但因爲懶的緣故😄,決定從pyqt學習.是參考一些博客寫的,雖然說qt-designer很方便,但出於對框架了解的緣故,決定還是自己敲一下代碼來的直接,再加上自己有一點手殘,正好練一下手速。
# @Author: mcc
# @Date: 2018-12-16 16:44:50
# @Last Modified by: mcc
# @Last Modified time: 2018-12-16 16:44:50
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QVBoxLayout,QGridLayout
class mcc(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
grid=QGridLayout()
self.setLayout(grid)
name=['cal','bck','close','7','8','9','4','5','6','1','2','3','.','0','=','+']
position=[(i,j) for i in range(5) for j in range(4)]
for name,position in zip(name,position):
if name==' ':
continue
button= QPushButton(name)
grid.addWidget(button,*position)
self.move(300,150)
self.setGeometry(250, 75, 1500, 900)
self.setWindowTitle('Layout Management')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
mcc = mcc()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import QWidget,QApplication,QToolTip,QPushButton
from PyQt5.QtWidgets import QMessageBox,QAction,qApp,QMainWindow,QTextEdit,QVBoxLayout,QHBoxLayout
from PyQt5.QtGui import QIcon,QFont
from PyQt5.QtCore import QCoreApplication
class mcc(QMainWindow):
def __init__(self):
super().__init__()
self.initUi()
def initUi(self):
QToolTip.setFont(QFont('SansSerif',10))
# text=QTextEdit()
# self.setCentralWidget(text)
#佈局
bt_ok=QPushButton('OK')
bt_cancel=QPushButton('Cancel')
hbox=QHBoxLayout()
hbox.addStretch()
hbox.addWidget(bt_ok)
hbox.addWidget(bt_cancel)
vbox=QVBoxLayout()
hbox.addStretch()
hbox.addLayout(hbox)
self.setLayout(vbox)
#菜單欄
exitAction=QAction(QIcon('C:\\Users\\MCC\\Pictures\\Life is strange\\Life_Is_Strange_Artwork_5.jpg'),'&exit',self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)
self.statusBar()
menuBar = self.menuBar()
fileMenu=menuBar.addMenu('&file')
fileMenu.addAction(exitAction)
#工具欄
self.toolbar=self.addToolBar('exittool')
self.toolbar.addAction(exitAction)
self.setWindowTitle('all_together')
self.setGeometry(250, 75, 1500, 900)
self.show()
# def closeEvent(self, event):
# reply=QMessageBox.question(self,'message','You sure to quit',QMessageBox.Yes|QMessageBox.No,QMessageBox.No)
# if reply == QMessageBox.Yes:
# event.accept()
# else:
# event.ignore()
if __name__=='__main__':
app=QApplication(sys.argv)
exp = mcc()
sys.exit(app.exec_())
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QSlider, QVBoxLayout
class mcc(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox=QVBoxLayout()
lcd=QLCDNumber(self)
slider=QSlider(Qt.Horizontal,self)
vbox.addWidget(lcd)
vbox.addWidget(slider)
self.setLayout(vbox)
slider.valueChanged.connect(lcd.display)
self.setGeometry(250, 75, 1500, 900)
self.setWindowTitle('single_slot')
self.show()
if __name__=='__main__':
app=QApplication(sys.argv)
mcc=mcc()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QLabel,QGridLayout,QTextEdit,QLineEdit
class mcc(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
title=QLabel('title')
author=QLabel('author')
review=QLabel('review')
titleEdit=QLineEdit()
authorEdit=QLineEdit()
reviewEdit=QLineEdit()
grid=QGridLayout()
grid.setSpacing(30)
grid.addWidget(title,1,0)
grid.addWidget(titleEdit,1,1)
grid.addWidget(author,2,0)
grid.addWidget(authorEdit,2,1)
grid.addWidget(review,3,0)
grid.addWidget(reviewEdit,3,1,5,1)
self.setGeometry(150,75,1500,900)
self.setLayout(grid)
self.setWindowTitle('review')
self.show()
if __name__=='__main__':
app=QApplication(sys.argv)
mc=mcc()
sys.exit(app.exec_())
# @Author: mcc
# @Date: 2018-12-16 17:23:21
# @Last Modified by: mcc
# @Last Modified time: 2018-12-16 17:23:21
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget
class mcc(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(250, 75, 1500, 900)
self.setWindowTitle('Escape')
def keyPressEvent(self,e):
if e.key() == Qt.Key_Escape:
self.close()
elif e.key() ==Qt.Key_Alt:
self.setWindowTitle('Alt')
if __name__=='__main__':
import sys
app=QApplication(sys.argv)
mcc=mcc()
mcc.show()
sys.exit(app.exec_())
# @Author: mcc
# @Date: 2018-12-16 17:33:23
# @Last Modified by: mcc
# @Last Modified time: 2018-12-16 17:33:23
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
import sys
class mcc(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
bt1=QPushButton('Hello',self)
bt2=QPushButton('world',self)
bt1.move(30,50)
bt2.move(150,50)
bt1.clicked.connect(self.btnclicked)
bt2.clicked.connect(self.btnclicked)
self.statusBar()
self.setGeometry(250, 75, 1500, 900)
self.setWindowTitle('sender')
self.show()
def btnclicked(self):
sender=self.sender()
self.statusBar().showMessage(sender.text()+' was clicked')
if __name__=='__main__':
app=QApplication(sys.argv)
mcc=mcc()
sys.exit(app.exec_())
from PyQt5.QtCore import pyqtSignal, QObject
from PyQt5.QtWidgets import QMainWindow, QApplication
class Communicate(QObject):
closeapp=pyqtSignal()
class mcc(QMainWindow):
'''mcc pyqt trip'''
def __init__(self):
super(mcc,self).__init__()
self.UIinit()
def UIinit(self):
self.setGeometry(250, 75, 1500, 900)
self.setWindowTitle('matter')
self.c=Communicate()
self.c.closeapp.connect(self.close)
def mousePressEvent(self):
self.c.closeapp.emit()
if __name__=='__main__':
import sys
app=QApplication(sys.argv)
mcc=mcc()
mcc.show()
sys.exit(app.exec_())
感覺最近很充實,雖然說擱下了很多事,但會盡快補上,希望接下來自己能更加努力吧。