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

浙公网安备 33010602011771号