文章出處
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
文章列表
全站熱搜