PyQt5 Toolbar addWidget 添加控件

实现工具栏添加下拉框,日期编辑框,相关控件。

效果图:

代码:

# -*- coding: utf-8 -*-
import sys

from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QLabel, QComboBox, QSpinBox


class MainWindow(QMainWindow):
    def __init__(self,parent=None):
        super(MainWindow,self).__init__(parent)
        self.setWindowTitle(self.tr("ToolBar_addWidget"))
        self.resize(500, 200)
        #调试显示文本框
        self.textEdit = QTextEdit()
        self.textEdit.setReadOnly(True)
        self.setCentralWidget(self.textEdit)
        #添加工具栏到MainWindow
        self.toolBar = self.addToolBar("测试")
        self.label1 = QLabel(self.tr("下拉框:"))
        ##下拉框
        self.comBox = QComboBox()
        self.comBox.insertItem(0, self.tr("ComboBox0"))
        self.comBox.insertItem(1, self.tr("ComboBox1"))
        self.comBox.insertItem(2, self.tr("ComboBox2"))
        self.label2 = QLabel(self.tr("设定框:"))
        ##微调框
        self.spin = QSpinBox()
        self.spin.setRange(-10,10)
        ##日期编辑框
        self.dateTimeEdit = QtWidgets.QDateTimeEdit()
        self.dateTimeEdit.setGeometry(QtCore.QRect(138, 46, 200, 20))
        font = QtGui.QFont()
        font.setPointSize(10)
        font.setWeight(75)
        self.dateTimeEdit.setFont(font)
        self.dateTimeEdit.setDateTime(QtCore.QDateTime(QtCore.QDate(2020, 1, 1), QtCore.QTime(3, 2, 3)))
        self.dateTimeEdit.setDisplayFormat(self.tr("yyyy-MM-dd hh:mm:ss"))
        self.dateTimeEdit.setCalendarPopup(True)
        #添加到工具栏
        self.toolBar.addWidget(self.label1)
        self.toolBar.addWidget(self.comBox)
        self.toolBar.addSeparator() #分隔号
        self.toolBar.addWidget(self.label2)
        self.toolBar.addWidget(self.spin)
        self.toolBar.addSeparator()
        self.toolBar.addWidget(self.dateTimeEdit)
        #槽连接
        self.comBox.activated.connect(self.ComboBoxSlot)
        self.spin.valueChanged.connect(self.SpinBoxSlot)
        self.dateTimeEdit.dateTimeChanged.connect(self.dateTimeEditSlot)


    def ComboBoxSlot(self):
        self.textEdit.setText(str(self.comBox.currentIndex()))


    def SpinBoxSlot(self):
        self.textEdit.setText(str(self.spin.value()))


    def dateTimeEditSlot(self):
        self.textEdit.setText(self.dateTimeEdit.dateTime().toString("yyyy-MM-dd hh:mm:ss"))


if __name__ == "__main__":
    app=QApplication(sys.argv)
    main=MainWindow()
    main.show()
    app.exec_()

  

 

posted @ 2020-09-26 17:33  河岸瓶风  阅读(1934)  评论(0编辑  收藏  举报