Example #1
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

        self.ui.slider.setMaximum(200)
        self.ui.scrollBar.setMaximum(200)
        self.ui.progressBar.setMaximum(200)

        self.ui.slider.valueChanged.connect(self.do_valueChanged)
        self.ui.scrollBar.valueChanged.connect(self.do_valueChanged)

##  ========由connectSlotsByName() 自动连接的槽函数=================

    def on_radio_Percent_clicked(self):  ##“显示格式--百分比”
        self.ui.progressBar.setFormat("%p%")

    def on_radio_Value_clicked(self):  ##“显示格式--当前值”
        self.ui.progressBar.setFormat("%v")

    @pyqtSlot(bool)  ##“textVisible”复选框
    def on_chkBox_Visible_clicked(self, checked):
        self.ui.progressBar.setTextVisible(checked)

    @pyqtSlot(bool)  ##"InvertedAppearance"复选框
    def on_chkBox_Inverted_clicked(self, checked):
        self.ui.progressBar.setInvertedAppearance(checked)

##  ========自定义槽函数====================================

    def do_valueChanged(self, value):  ##slider和scrollBar的valueChanged信号的响应
        self.ui.progressBar.setValue(value)
Example #2
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建Ui对象
        self.ui.setupUi(self)  #构造UI

        self.ui.slider.setMaximum(200)  #设置输入的最大范围,setMinimum是最小范围
        self.ui.scrollBar.setMaximum(200)
        self.ui.progressBar.setMaximum(200)
        self.ui.slider.valueChanged.connect(self.do_valueChanged)  #自定义连接
        self.ui.scrollBar.valueChanged.connect(self.do_valueChanged)

    ##==========自定义功能函数==========
    def do_valueChanged(self, value):
        self.ui.progressBar.setValue(value)

    ##==========事件处理函数===========

    ##==========由connectSlotsByName()自动关联的槽函数====
    def on_radio_Percent_clicked(self):  #显示百分比
        self.ui.progressBar.setFormat('%p%')

    def on_radio_Value_clicked(self):
        self.ui.progressBar.setFormat('%v')

    @pyqtSlot(bool)
    def on_chkBox_Visible_clicked(self, checked):
        self.ui.progressBar.setTextVisible(checked)

    @pyqtSlot(bool)
    def on_chkBox_Inverted_clicked(self, checked):
        self.ui.progressBar.setInvertedAppearance(checked)
Example #3
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面
        pass

##  ========由connectSlotsByName() 自动连接的槽函数=================

    def on_radio_Percent_clicked(self):  ##“显示格式--百分比”
        pass

    def on_radio_Value_clicked(self):  ##“显示格式--当前值”
        pass

    @pyqtSlot(bool)  ##“textVisible”复选框
    def on_chkBox_Visible_clicked(self, checked):
        pass

    @pyqtSlot(bool)  ##"InvertedAppearance"复选框
    def on_chkBox_Inverted_clicked(self, checked):
        pass

##  ========自定义槽函数====================================

    def do_valueChanged(self, value):  ##slider和scrollBar的valueChanged信号的响应
        pass
Example #4
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建Ui对象
        self.ui.setupUi(self)  #构造UI

    ##==========自定义功能函数==========

    ##==========事件处理函数===========

    ##==========由connectSlotsByName()自动关联的槽函数====
    def on_btnGetTime_clicked(self):
        '''
		curDateTime获取系统时间,值为PyQt5.QtCore.QDateTime(2020, 3, 25, 15, 48, 17, 173)
		curDateTime.time()/curDateTime.date()是QDateTime中的时间部分和日期部分
		curDateTime.toString()是将QDateTime时间格式

		:return:
		'''
        curDateTime = QDateTime.currentDateTime()
        print(curDateTime)
        self.ui.timeEdit.setTime(curDateTime.time())
        self.ui.editTime.setText(curDateTime.toString("hh:mm:ss"))  #设置字符串显示格式

        self.ui.dateEdit.setDate(curDateTime.date())
        self.ui.editDate.setText(
            curDateTime.toString("yyyy-MM-dd"))  #设置字符串显示格式

        self.ui.dateTimeEdit.setDateTime(curDateTime)
        self.ui.editDateTime.setText(
            curDateTime.toString("yyyy-MM-dd hh:mm:ss"))  #设置字符串显示格式

    def on_calendarWidget_selectionChanged(self):
        '''
		设置日历组件
		data类型是PyQt5.QtCore.QDate(2020, 3, 3)
		:return:
		'''
        data = self.ui.calendarWidget.selectedDate()
        print(data)
        self.ui.editCalendar.setText(
            data.toString("yyyy年MM月dd日"))  #设置字符串在QLineEdit组件中的显示格式

    def on_btnSetTime_clicked(self):
        tmStr = self.ui.editTime.text()  #得到的是一个字符串
        #fromString(str, str)
        #fromString(str, format: Qt.DateFormat = Qt.TextDate)
        tm = QTime.fromString(tmStr,
                              "hh:mm:ss")  #格式化获取的QlineEdit中的时间,格式要与目标函数的格式一致
        self.ui.timeEdit.setTime(tm)

    def on_btnSetDate_clicked(self):
        dtStr = self.ui.editDate.text()
        dt = QDate.fromString(dtStr, "yyyy-MM-dd")
        self.ui.dateEdit.setDate(dt)

    def on_btnSetDateTime_clicked(self):
        dttmStr = self.ui.editDateTime.text()
        dttm = QDateTime.fromString(dttmStr, "yyyy-MM-dd hh:mm:ss")
        self.ui.dateTimeEdit.setDateTime(dttm)
Example #5
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

        self.boy = Human("Boy", 16)
        self.boy.nameChanged.connect(self.do_nameChanged)

        self.boy.ageChanged.connect(self.do_ageChanged_int)
        self.boy.ageChanged[str].connect(self.do_ageChanged_str)

## 由connectSlotsByName() 自动与组件的信号连接的槽函数

    def on_sliderSetAge_valueChanged(self, value):
        self.boy.setAge(value)

    def on_btnSetName_clicked(self):
        hisName = self.ui.editNameInput.text()
        self.boy.setName(hisName)


## 自定义槽函数

    def do_nameChanged(self, name):
        self.ui.editNameHello.setText("Hello," + name)

    @pyqtSlot(int)
    def do_ageChanged_int(self, age):
        self.ui.editAgeInt.setText(str(age))

    @pyqtSlot(str)
    def do_ageChanged_str(self, info):
        self.ui.editAgeStr.setText(info)
Example #6
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

    def on_btnCalculate_clicked(self):  ##"计算总价"按钮
        num = int(self.ui.editCount.text())
        price = float(self.ui.editPrice.text())
        total = num * price
        self.ui.editTotal.setText("%.2f" % total)

    @pyqtSlot(int)  ##"数量"SpinBox
    def on_spinCount_valueChanged(self, count):
        price = self.ui.spinPrice.value()
        self.ui.spinTotal.setValue(count * price)

    @pyqtSlot(float)  ##"单价" DoubleSpinBox
    def on_spinPrice_valueChanged(self, price):
        count = self.ui.spinCount.value()
        self.ui.spinTotal.setValue(count * price)
Example #7
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

##  ==========由connectSlotsByName() 自动连接的槽函数====================

    def on_btnIniItems_clicked(self):  ##“初始化列表”按钮
        pass

    def on_btnClearItems_clicked(self):  ##“清除列表”按钮
        pass

    @pyqtSlot(bool)  ##“可编辑” CheckBox
    def on_chkBoxEditable_clicked(self, checked):
        pass

    @pyqtSlot(str)  ##“简单的ComboBox”的当前项变化
    def on_comboBox_currentIndexChanged(self, curText):
        pass

    def on_btnIni2_clicked(self):  ##有用户数据的comboBox2的初始化
        pass

    @pyqtSlot(str)  ##当前项变化
    def on_comboBox2_currentIndexChanged(self, curText):
        pass
Example #8
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

    @pyqtSlot()  ##播放文件
    def on_btnEffect_File_clicked(self):
        url = QUrl.fromLocalFile("Ak47.wav")
        player = QSoundEffect(self)
        player.setLoopCount(2)  #播放循环次数
        player.setSource(url)  #设置源文件
        player.play()

    @pyqtSlot()  ##播放资源文件的内容
    def on_btnEffect_Resource_clicked(self):
        url = QUrl.fromLocalFile(":/Wave/sound/blast.wav")
        player = QSoundEffect(self)
        player.setLoopCount(2)
        player.setSource(url)
        player.play()  #无法播放资源文件

    @pyqtSlot()  ##播放文件
    def on_btnSound_File_clicked(self):
        QSound.play("fire2.wav")
        QSound.play("machinegun.wav")

    @pyqtSlot()  ##播放资源文件
    def on_btnSound_Resource_clicked(self):
        QSound.play(":/Wave/sound/machinegun.wav")  #不能播放
Example #9
0
class QmyWidget(QWidget): 
   def __init__(self, parent=None):
      super().__init__(parent)   #调用父类构造函数,创建窗体
      self.ui=Ui_Widget()        #创建UI对象
      self.ui.setupUi(self)      #构造UI界面


##  =================自定义功能函数=================================

        
##  ==========由connectSlotsByName() 自动连接的槽函数===============        
   @pyqtSlot()    ##播放文件
   def on_btnEffect_File_clicked(self):
      pass
   

   @pyqtSlot()    ##播放资源文件的内容
   def on_btnEffect_Resource_clicked(self):   
      pass
   

   @pyqtSlot()    ##播放文件
   def on_btnSound_File_clicked(self):  
      pass
   

   @pyqtSlot()    ##播放资源文件
   def on_btnSound_Resource_clicked(self):  
      pass
Example #10
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面
        pass

## 由connectSlotsByName() 自动与组件的信号连接的槽函数

    def on_sliderSetAge_valueChanged(self, value):
        pass

    def on_btnSetName_clicked(self):
        pass


## 自定义槽函数

    def do_nameChanged(self, name):
        pass

    @pyqtSlot(int)
    def do_ageChanged_int(self, age):
        pass

    @pyqtSlot(str)
    def do_ageChanged_str(self, info):
        pass
Example #11
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面
        pass

##  =================自定义功能函数=================================

    def __getDropActionIndex(self, actionType):
        pass

    def __getDropActionType(self, index):
        pass

    def __refreshToUI(self):  ##属性显示到界面
        pass

##  ==================event处理函数=================================

    def eventFilter(self, watched, event):
        pass
        return super().eventFilter(watched, event)

##  ==========由connectSlotsByName()自动连接的槽函数===============

    @pyqtSlot()
    def on_radio_Source_clicked(self):  ##listSource
        pass

    @pyqtSlot()
    def on_radio_List_clicked(self):  ##listWidget
        pass

    @pyqtSlot()
    def on_radio_Tree_clicked(self):  ##treeWidget
        pass

    @pyqtSlot()
    def on_radio_Table_clicked(self):  ##tableWidget
        pass

##============用于属性设置的4个组件的槽函数===================

    @pyqtSlot(bool)
    def on_chkBox_AcceptDrops_clicked(self, checked):
        pass

    @pyqtSlot(bool)
    def on_chkBox_DragEnabled_clicked(self, checked):
        pass

    @pyqtSlot(int)
    def on_combo_Mode_currentIndexChanged(self, index):
        pass

    @pyqtSlot(int)
    def on_combo_DefaultAction_currentIndexChanged(self, index):
        pass
Example #12
0
class Widget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数
        self.ui = Ui_Widget()  #创建ui对象
        self.ui.setupUi(self)  #构造ui对象

        #设置窗口背景透明
        self.setWindowFlags(Qt.FramelessWindowHint)
        self.setAttribute(Qt.WA_TranslucentBackground)
Example #13
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建Ui对象
        self.ui.setupUi(self)  #构造UI

    ##==========自定义功能函数==========

    ##==========事件处理函数===========

    ##==========由connectSlotsByName()自动关联的槽函数====
    '''
	editInput:为QLineEdit组件名称
	setAlignment():设置对齐方式
	'''

    def on_btnAlign_Left_clicked(self):  #居左
        self.ui.editInput.setAlignment(Qt.AlignLeft)

    def on_btnAlign_Center_clicked(self):  #居中
        self.ui.editInput.setAlignment(Qt.AlignCenter)

    def on_btnAlign_Right_clicked(self):  #居右
        self.ui.editInput.setAlignment(Qt.AlignRight)

    @pyqtSlot(bool)
    def on_btnFont_Bold_clicked(self, checked):  #粗体
        font = self.ui.editInput.font()  #获取字体对象
        font.setBold(checked)  #checked=True,即当参数为真时,setBold()将font设置为粗体
        self.ui.editInput.setFont(font)  #设置字体

    @pyqtSlot(bool)
    def on_btnFont_Italic_clicked(self, checked):  #斜体
        font = self.ui.editInput.font()
        font.setItalic(checked)
        self.ui.editInput.setFont(font)

    @pyqtSlot(bool)
    def on_btnFont_UnderLine_clicked(self, checked):  #下划线
        font = self.ui.editInput.font()
        font.setUnderline(checked)
        self.ui.editInput.setFont(font)

    @pyqtSlot(bool)
    def on_chkBox_Readonly_clicked(self, checked):  #只读
        self.ui.editInput.setReadOnly(checked)

    @pyqtSlot(bool)
    def on_chkBox_Enable_clicked(self, checked):  #锁定QLineEdit组件
        self.ui.editInput.setEnabled(checked)

    @pyqtSlot(bool)
    def on_chkBox_ClearButton_clicked(self, checked):  #聚焦后清除原有内容
        self.ui.editInput.setClearButtonEnabled(checked)
Example #14
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

        self.setAcceptDrops(True)
        self.ui.plainTextEdit.setAcceptDrops(True)  #不处理drop,由父窗体处理
        self.ui.LabPic.setAcceptDrops(False)
        self.ui.LabPic.setScaledContents(True)  #图片适应Label大小

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

##  ==================event处理函数=================================

    def dragEnterEvent(self, event):
        self.ui.plainTextEdit.clear()
        self.ui.plainTextEdit.appendPlainText(
            "dragEnterEvent事件 mimeData()->formats()")
        for strLine in event.mimeData().formats():  #mimeData().formats()
            self.ui.plainTextEdit.appendPlainText(strLine)

        self.ui.plainTextEdit.appendPlainText(
            "\ndragEnterEvent事件 mimeData()->urls()")
        for url in event.mimeData().urls():  # mimeData().urls()
            self.ui.plainTextEdit.appendPlainText(url.path())

        if (event.mimeData().hasUrls()):
            filename = event.mimeData().urls()[0].fileName()  #只有文件名
            basename, ext = os.path.splitext(filename)  #文件名和后缀
            ext = ext.upper()
            if (ext == ".JPG"):  #只接收JPG文件
                event.acceptProposedAction()
            else:
                event.ignore()
        else:
            event.ignore()

    def dropEvent(self, event):
        filename = event.mimeData().urls()[0].path()  #完整文件名
        cnt = len(filename)

        realname = filename[1:cnt]  #去掉最左边的“/”
        pixmap = QPixmap(realname)
        self.ui.LabPic.setPixmap(pixmap)
        event.accept()
Example #15
0
class QmyWidget(QWidget): 
   def __init__(self, parent=None):
      super().__init__(parent)   #调用父类构造函数,创建窗体
      self.ui=Ui_Widget()        #创建UI对象
      self.ui.setupUi(self)      #构造UI界面
      pass


##  =================自定义功能函数=================================

        
##  ==========由connectSlotsByName() 自动连接的槽函数===============        
   @pyqtSlot()    ##重设模型数据内容
   def on_btnList_Reset_clicked(self):
      pass

   @pyqtSlot()    ##添加项
   def on_btnList_Append_clicked(self):   
      pass


   @pyqtSlot()    ##插入项
   def on_btnList_Insert_clicked(self):   
      pass


   @pyqtSlot()    ##删除当前项
   def on_btnList_Delete_clicked(self):   
      pass
   
        
   @pyqtSlot()    ##清空列表
   def on_btnList_Clear_clicked(self): 
      pass
   

   @pyqtSlot()    ##清空文本
   def on_btnText_Clear_clicked(self):
      pass


   @pyqtSlot()    ##显示数据模型的内容
   def on_btnText_Display_clicked(self):  
      pass


   def on_listView_clicked(self,index):
      pass
Example #16
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面
        pass

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

##  ==================event处理函数=================================

    def eventFilter(self, watched, event):
        pass
        return super().eventFilter(watched, event)
Example #17
0
class QmyWidget(QWidget): 
   def __init__(self, parent=None):
      super().__init__(parent)   #调用父类构造函数,创建窗体
      self.ui=Ui_Widget()        #创建UI对象
      self.ui.setupUi(self)      #构造UI界面
      self.setWindowTitle("Demo5_3 event()事件拦截")


##  =================自定义功能函数=================================
        
        
##  ==========由connectSlotsByName() 自动连接的槽函数===============        

##  ==================event处理函数=================================
   def event(self,event):
      pass
      return super().event(event)


   def paintEvent(self,event):   ##绘制窗口背景图片
      pass


   def resizeEvent(self,event):  ##窗体改变大小
      pass

        
   def closeEvent(self,event):   ##窗体关闭时询问
      pass


##   def keyPressEvent(self,event):
   def keyReleaseEvent(self,event):  
      pass


   def hideEvent(self,event):   ##窗体最小化时触发
      pass
   
        
   def showEvent(self,event):   ##窗体显示时触发
      pass
   

   def mousePressEvent(self,event):  ##鼠标左键按下
      pass
      super().mousePressEvent(event)
Example #18
0
class QmyWidget(QWidget): 
   def __init__(self, parent=None):
      super().__init__(parent)      #调用父类构造函数,创建窗体
      self.ui=Ui_Widget()           #创建UI对象
      self.ui.setupUi(self)         #构造UI界面

        
##  =======由connectSlotsByName() 自动连接的槽函数=======================        
   def on_btnAlign_Left_clicked(self):     ##“居左”按钮
      self.ui.editInput.setAlignment(Qt.AlignLeft)

   def on_btnAlign_Center_clicked(self):   ##“居中”按钮
      self.ui.editInput.setAlignment(Qt.AlignCenter)
    
   def on_btnAlign_Right_clicked(self):    ##“居右”按钮
      self.ui.editInput.setAlignment(Qt.AlignRight)

   @pyqtSlot(bool)  ##“粗体”按钮
   def on_btnFont_Bold_clicked(self,checked): 
      font=self.ui.editInput.font()
      font.setBold(checked)
      self.ui.editInput.setFont(font)
        
   @pyqtSlot(bool)   ##“斜体”按钮
   def on_btnFont_Italic_clicked(self,checked):
      font=self.ui.editInput.font()
      font.setItalic(checked)
      self.ui.editInput.setFont(font)

   @pyqtSlot(bool)  ##“下划线”按钮
   def on_btnFont_UnderLine_clicked(self,checked): 
      font=self.ui.editInput.font()
      font.setUnderline(checked)
      self.ui.editInput.setFont(font)

   @pyqtSlot(bool)  ##"Readonly" 复选框
   def on_chkBox_Readonly_clicked(self,checked):    
      self.ui.editInput.setReadOnly(checked)

   @pyqtSlot(bool)   ##"Enabled"复选框
   def on_chkbox_Enable_clicked(self,checked):    
      self.ui.editInput.setEnabled(checked)
        
   @pyqtSlot(bool)   ##"ClearButtonEnabled"复选框
   def on_chkBox_ClearButton_clicked(self,checked):  
      self.ui.editInput.setClearButtonEnabled(checked)
Example #19
0
class QmyWidget(QWidget): 
   def __init__(self, parent=None):
      super().__init__(parent)   #调用父类构造函数,创建窗体
      self.ui=Ui_Widget()        #创建UI对象
      self.ui.setupUi(self)      #构造UI界面
        
##  ==========由connectSlotsByName() 自动连接的槽函数====================        
   def on_btnIniItems_clicked(self):   ##“初始化列表”按钮
      #设置图标的操作
      icon=QIcon(":/icons/images/aim.ico")
      self.ui.comboBox.clear()    #清除列表
      provinces=["山东","河北","河南","湖北","湖南","广东"]    #列表数据
      for i in range(len(provinces)):
         self.ui.comboBox.addItem(icon,provinces[i])

##      #不设置图标的操作
##      self.ui.comboBox.clear()    #清除列表
##      provinces=["山东","河北","河南","湖北","湖南","广东"]  #列表数据
##      self.ui.comboBox.addItems(provinces)    #直接添加列表,但无法加图标


   def on_btnClearItems_clicked(self):    ##“清除列表”按钮
      self.ui.comboBox.clear()

   @pyqtSlot(bool)   ##“可编辑” CheckBox
   def on_chkBoxEditable_clicked(self,checked):  
      self.ui.comboBox.setEditable(checked)

   @pyqtSlot(str)    ##“简单的ComboBox”的当前项变化
   def on_comboBox_currentIndexChanged(self,curText):
      self.ui.lineEdit.setText(curText)

   def on_btnIni2_clicked(self):   ##有用户数据的comboBox2的初始化
      icon=QIcon(":/icons/images/unit.ico")
      self.ui.comboBox2.clear()
      cities={"北京":10, "上海":21, "天津":22,
              "徐州":516, "福州":591, "青岛":532}        #字典数据
      for k in cities:
         self.ui.comboBox2.addItem(icon,k,cities[k])

   @pyqtSlot(str)    ##当前项变化
   def on_comboBox2_currentIndexChanged(self,curText): 
      self.ui.lineEdit.setText(curText)
      zone=self.ui.comboBox2.currentData()    #读取关联数据
      if (zone != None):      #必须加此判断,因为有可能是None
         self.ui.lineEdit.setText(curText+":区号=%d"%zone)
Example #20
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

        self.timer = QTimer()  #创建定时器
        self.timer.stop()  #停止
        self.timer.setInterval(1000)  #定时周期1000ms
        self.timer.timeout.connect(self.do_timer_timeout)

        self.counter = QTime()  #创建计时器

##  =========由connectSlotsByName() 自动连接的槽函数=============

    def on_btnStart_clicked(self):  ##“开始”按钮
        self.timer.start()  #开始定时
        self.counter.start()  #开始计时

        self.ui.btnStart.setEnabled(False)
        self.ui.btnStop.setEnabled(True)
        self.ui.btnSetIntv.setEnabled(False)

    def on_btnSetIntv_clicked(self):  ##设置定时器的周期
        self.timer.setInterval(self.ui.spinBoxIntv.value())

    def on_btnStop_clicked(self):  ##“停止”按钮
        self.timer.stop()  #定时器停止
        tmMs = self.counter.elapsed()  #计时器流逝的毫秒数

        ms = tmMs % 1000  #取余数,毫秒
        sec = tmMs / 1000  #整秒
        timeStr = "流逝的时间:%d 秒,%d 毫秒" % (sec, ms)
        self.ui.LabElapsedTime.setText(timeStr)

        self.ui.btnStart.setEnabled(True)
        self.ui.btnStop.setEnabled(False)
        self.ui.btnSetIntv.setEnabled(True)

##  ==========自定义槽函数==================================

    def do_timer_timeout(self):  ##定时中断响应
        curTime = QTime.currentTime()  #获取当前时间
        self.ui.LCDHour.display(curTime.hour())
        self.ui.LCDMin.display(curTime.minute())
        self.ui.LCDSec.display(curTime.second())
Example #21
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面
        pass

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

##  ==================event处理函数=================================

    def dragEnterEvent(self, event):
        pass

    def dropEvent(self, event):
        pass
Example #22
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建Ui对象
        self.ui.setupUi(self)  #构造UI

        self.timer = QTimer()  #创建定时器
        self.timer.stop()
        self.timer.setInterval(100)  #设定周期
        self.timer.timeout.connect(self.do_timer_timeout)
        self.counter = QTime()

    ##==========自定义功能函数==========

    ##==========事件处理函数===========

    ##==========由connectSlotsByName()自动关联的槽函数====
    def on_btnStart_clicked(self):
        self.timer.start()
        self.counter.start()
        self.ui.btnStart.setEnabled(False)
        self.ui.btnStop.setEnabled(True)
        self.ui.btnSetIntv.setEnabled(False)

    def on_btnStop_clicked(self):
        self.timer.stop()
        tmMs = self.counter.elapsed()  #计时器经过的时间
        ms = tmMs % 1000  #毫秒
        sec = tmMs / 1000  #秒
        timeStr = "经过的时间:{}秒,{}毫秒".format(sec, ms)
        self.ui.LabElapsedTime.setText(timeStr)
        self.ui.btnStart.setEnabled(True)
        self.ui.btnStop.setEnabled(False)
        self.ui.btnSetIntv.setEnabled(True)

    def on_btnSetIntv_clicked(self):
        self.timer.setInterval(self.ui.spinBoxIntv.value())

    ##=========自定义槽函数============
    def do_timer_timeout(self, ):
        curTime = QTime.currentTime()
        self.ui.LCDHour.display(curTime.hour())
        self.ui.LCDMin.display(curTime.minute())
        self.ui.LCDSec.display(curTime.second())
Example #23
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

    def on_btnCalculate_clicked(self):  ##"计算总价"按钮
        pass

    @pyqtSlot(int)  ##"数量"SpinBox
    def on_spinCount_valueChanged(self, count):
        pass

    @pyqtSlot(float)  ##"单价" DoubleSpinBox
    def on_spinPrice_valueChanged(self, price):
        pass
Example #24
0
class QmyWidget(QWidget): 
   def __init__(self, parent=None):
      super().__init__(parent)      #调用父类构造函数,创建窗体
      self.ui=Ui_Widget()           #创建UI对象
      self.ui.setupUi(self)         #构造UI界面

        
##  =======由connectSlotsByName() 自动连接的槽函数=======================        
   def on_btnAlign_Left_clicked(self):     ##“居左”按钮
      pass

   def on_btnAlign_Center_clicked(self):   ##“居中”按钮
      pass
    
   def on_btnAlign_Right_clicked(self):    ##“居右”按钮
      pass

   @pyqtSlot(bool)  ##“粗体”按钮
   def on_btnFont_Bold_clicked(self,checked): 
      pass
        
   @pyqtSlot(bool)   ##“斜体”按钮
   def on_btnFont_Italic_clicked(self,checked):
      pass

   @pyqtSlot(bool)  ##“下划线”按钮
   def on_btnFont_UnderLine_clicked(self,checked): 
      pass

   @pyqtSlot(bool)  ##"Readonly" 复选框
   def on_chkBox_Readonly_clicked(self,checked):    
      pass

   @pyqtSlot(bool)   ##"Enabled"复选框
   def on_chkbox_Enable_clicked(self,checked):    
      pass
        
   @pyqtSlot(bool)   ##"ClearButtonEnabled"复选框
   def on_chkBox_ClearButton_clicked(self,checked):  
      pass
Example #25
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

        self.ui.LabHover.installEventFilter(self)
        self.ui.LabDBClick.installEventFilter(self)
        qApp.processEvents()

##  =================自定义功能函数=================================

##  ==========由connectSlotsByName() 自动连接的槽函数===============

##  ==================event处理函数=================================

    def eventFilter(self, watched, event):
        if (watched == self.ui.LabHover):  #上面的QLabel组件
            if (event.type() == QEvent.Enter):  #鼠标光标进入
                self.ui.LabHover.setStyleSheet(
                    "background-color: rgb(170, 255, 255);")
            elif (event.type() == QEvent.Leave):  #鼠标光标移出
                self.ui.LabHover.setStyleSheet("")
                self.ui.LabHover.setText("靠近我,点击我")
            elif (event.type() == QEvent.MouseButtonPress):  #鼠标按键按下
                self.ui.LabHover.setText("button pressed")
            elif (event.type() == QEvent.MouseButtonRelease):  #鼠标按键释放
                self.ui.LabHover.setText("button released")

        if (watched == self.ui.LabDBClick):  #下面的QLabel组件
            if (event.type() == QEvent.Enter):
                self.ui.LabDBClick.setStyleSheet(
                    "background-color: rgb(85, 255, 127);")
            elif (event.type() == QEvent.Leave):
                self.ui.LabDBClick.setStyleSheet("")
                self.ui.LabDBClick.setText("可双击的标签")
            elif (event.type() == QEvent.MouseButtonDblClick):  #鼠标双击
                self.ui.LabDBClick.setText("double clicked")

        return super().eventFilter(watched, event)
Example #26
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

##  =========由connectSlotsByName() 自动连接的槽函数=========================

    def on_btnGetTime_clicked(self):  ## "读取当前日期时间"按钮
        pass

    def on_calendarWidget_selectionChanged(self):  ## 日历组件
        pass

    def on_btnSetTime_clicked(self):  ##“设置时间”按钮
        pass

    def on_btnSetDate_clicked(self):  ##“设置日期”按钮
        pass

    def on_btnSetDateTime_clicked(self):  ##“设置日期时间”按钮
        pass
Example #27
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面
        pass

##  =========由connectSlotsByName() 自动连接的槽函数=============

    def on_btnStart_clicked(self):  ##“开始”按钮
        pass

    def on_btnSetIntv_clicked(self):  ##设置定时器的周期
        pass

    def on_btnStop_clicked(self):  ##“停止”按钮
        pass

##  ==========自定义槽函数==================================

    def do_timer_timeout(self):  ##定时中断响应
        pass
Example #28
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建UI对象
        self.ui.setupUi(self)  #构造UI界面

##  =========由connectSlotsByName() 自动连接的槽函数=========================

    def on_btnGetTime_clicked(self):  ## "读取当前日期时间"按钮
        curDateTime = QDateTime.currentDateTime()
        self.ui.timeEdit.setTime(curDateTime.time())
        self.ui.editTime.setText(curDateTime.toString("hh:mm:ss"))

        self.ui.dateEdit.setDate(curDateTime.date())
        self.ui.editDate.setText(curDateTime.toString("yyyy-MM-dd"))

        self.ui.dateTimeEdit.setDateTime(curDateTime)
        self.ui.editDateTime.setText(
            curDateTime.toString("yyyy-MM-dd hh:mm:ss"))

    def on_calendarWidget_selectionChanged(self):  ## 日历组件
        date = self.ui.calendarWidget.selectedDate()
        self.ui.editCalendar.setText(date.toString("yyyy年M月d日"))

    def on_btnSetTime_clicked(self):  ##“设置时间”按钮
        tmStr = self.ui.editTime.text()
        tm = QTime.fromString(tmStr, "hh:mm:ss")
        self.ui.timeEdit.setTime(tm)

    def on_btnSetDate_clicked(self):  ##“设置日期”按钮
        dtStr = self.ui.editDate.text()
        dt = QDate.fromString(dtStr, "yyyy-MM-dd")
        self.ui.dateEdit.setDate(dt)

    def on_btnSetDateTime_clicked(self):  ##“设置日期时间”按钮
        dttmStr = self.ui.editDateTime.text()
        dttm = QDateTime.fromString(dttmStr, "yyyy-MM-dd hh:mm:ss")
        self.ui.dateTimeEdit.setDateTime(dttm)
Example #29
0
class QmyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)  #调用父类构造函数,创建窗体
        self.ui = Ui_Widget()  #创建Ui对象
        self.ui.setupUi(self)  #构造UI

        self.resize(280, 150)

        labHello = QMyLabel(self)
        labHello.setText("hit me")
        font = labHello.font()
        font.setPointSize(14)
        font.setBold(True)
        labHello.setFont(font)
        size = labHello.sizeHint()
        labHello.setGeometry(70, 60, size.width(), size.height())
        labHello.doubleClicked.connect(self.do_doubleClicked)

    def do_doubleClicked(self):
        print('标签被双击')

    def mouseDoubleClickEvent(self, event):
        print("窗口双击事件响应")
Example #30
0
class QmyWidget(QWidget):
	def __init__(self,parent=None):
		super().__init__(parent)#调用父类构造函数,创建窗体
		self.ui = Ui_Widget()#创建Ui对象
		self.ui.setupUi(self)#构造UI