qtpy學習(一)

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_())

感覺最近很充實,雖然說擱下了很多事,但會盡快補上,希望接下來自己能更加努力吧。
mcc

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章