文章出處

digit的python3+pytq5+Qt desinger實現:本文是本人用python3+pytq5+Qt desinger實現Python Qt GUI快速編程-第四章的digit例子,同時也增加了一個browertext框用于展示每次digit觸發0的記錄顯示,請大家參考。

#/home/yrd/eric_workspace/digit/Ui_digit.py

# -*- coding: utf-8 -*-from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Dialog(object):    def setupUi(self, Dialog):        Dialog.setObjectName("Dialog")        Dialog.resize(390, 275)        Dialog.setSizeGripEnabled(True)        self.gridLayoutWidget = QtWidgets.QWidget(Dialog)        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 361, 255))        self.gridLayoutWidget.setObjectName("gridLayoutWidget")        self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)        self.gridLayout.setContentsMargins(0, 0, 0, 0)        self.gridLayout.setObjectName("gridLayout")        self.line = QtWidgets.QFrame(self.gridLayoutWidget)        self.line.setFrameShape(QtWidgets.QFrame.HLine)        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)        self.line.setObjectName("line")        self.gridLayout.addWidget(self.line, 1, 0, 1, 1)        self.horizontalLayout = QtWidgets.QHBoxLayout()        self.horizontalLayout.setObjectName("horizontalLayout")        self.dial = QtWidgets.QDial(self.gridLayoutWidget)        self.dial.setMaximumSize(QtCore.QSize(16777215, 16777215))        self.dial.setObjectName("dial")        self.horizontalLayout.addWidget(self.dial)        self.verticalLayout = QtWidgets.QVBoxLayout()        self.verticalLayout.setObjectName("verticalLayout")        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)        self.verticalLayout.addItem(spacerItem)        self.spinBox = QtWidgets.QSpinBox(self.gridLayoutWidget)        self.spinBox.setObjectName("spinBox")        self.verticalLayout.addWidget(self.spinBox)        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)        self.verticalLayout.addItem(spacerItem1)        self.horizontalLayout.addLayout(self.verticalLayout)        self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)        self.textBrowser = QtWidgets.QTextBrowser(self.gridLayoutWidget)        self.textBrowser.setObjectName("textBrowser")        self.gridLayout.addWidget(self.textBrowser, 2, 0, 1, 1)        self.retranslateUi(Dialog)        self.spinBox.valueChanged['int'].connect(self.dial.setValue)        self.dial.valueChanged['int'].connect(self.spinBox.setValue)        QtCore.QMetaObject.connectSlotsByName(Dialog)    def retranslateUi(self, Dialog):        _translate = QtCore.QCoreApplication.translate        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))if __name__ == "__main__":    import sys    app = QtWidgets.QApplication(sys.argv)    Dialog = QtWidgets.QDialog()    ui = Ui_Dialog()    ui.setupUi(Dialog)    Dialog.show()    sys.exit(app.exec_())

#/home/yrd/eric_workspace/digit/digit.py

# -*- coding: utf-8 -*-"""Module implementing digit."""from PyQt5.QtCore import pyqtSlotfrom PyQt5.QtWidgets import QDialog,QApplicationfrom Ui_digit import Ui_Dialogclass digit(QDialog, Ui_Dialog):    """    Class documentation goes here.    """    def __init__(self, parent=None):        """        Constructor        @param parent reference to the parent widget        @type QWidget        """        super(digit, self).__init__(parent)        self.setupUi(self)        self.zeros = 0        #self.atzero = pyqtSignal(int)        self.dial.valueChanged[int].connect(self.checkzero)            def checkzero(self,value):        if value == 0:            self.zeros += 1            self.textBrowser.append("diag already run {0} times zero".format(self.zeros))            #self.atzero.emit(self.zeros)if __name__ == "__main__":    import sys    app = QApplication(sys.argv)    dlg=digit()    dlg.show()    sys.exit(app.exec_())

運行結果

看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170105/81884.html

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()