PyQt4 常用
来源:互联网 发布:sql分组求和 编辑:程序博客网 时间:2024/06/05 00:06
PyQt4_SplitterWindow
#!/usr/bin/env python#coding: utf-8'''FuncName: PyQt4_SplitterWindow.py.pyDesc: Splitter Windows with PyQt4Date: 2017-02-10 10:30Author: johnnyHome: http://blog.csdn.net/z_johnny'''import sysfrom PyQt4.QtGui import *from PyQt4.QtCore import *QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))class JzmainWindow(QMainWindow): """ 主窗口布局,包括“菜单栏、工具栏、状态栏、内容等” QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。 主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周 围菜单、工具条和一个状态条。 QMainWindow常常被继承,因为这使得封装中央部件、菜单和工具条以及窗口状态变得更容易。 """ def __init__(self, parent=None): super(JzmainWindow, self).__init__(parent) mainSplitter = QSplitter(Qt.Horizontal) mainSplitter.setOpaqueResize(True) listWidget = QListWidget(mainSplitter) listWidget.insertItem(0, self.tr("设置")) listWidget.insertItem(1, self.tr("结果")) listWidget.insertItem(2, self.tr("计算器")) frame = QFrame(mainSplitter) stack = QStackedWidget() stack.setFrameStyle(QFrame.Panel | QFrame.Raised) stack.addWidget(JzleftWidget()) stack.addWidget(JzrightWidget()) stack.addWidget(JzCalc()) amendPushButton = QPushButton(self.tr("修改")) closePushButton = QPushButton(self.tr("关闭")) buttonLayout = QHBoxLayout() buttonLayout.addStretch(1) buttonLayout.addWidget(amendPushButton) buttonLayout.addWidget(closePushButton) mainLayout = QVBoxLayout(frame) mainLayout.setMargin(10) mainLayout.setSpacing(6) mainLayout.addWidget(stack) mainLayout.addLayout(buttonLayout) self.connect(listWidget, SIGNAL("currentRowChanged(int)"), stack, SLOT("setCurrentIndex(int)")) self.connect(closePushButton, SIGNAL("clicked()"), self, SLOT("close()")) layout = QHBoxLayout(self) layout.addWidget(mainSplitter) widget = QWidget() widget.setLayout(layout) self.setCentralWidget(widget) # 加一个widget布局设为中心!! self.setWindowTitle('JzmainWindow') self.setWindowIcon(QIcon("/conf/head.ico")) self.MenuBar() self.ToolBar() self.StatusBar() self.Center() def MenuBar(self): open_config = QAction(u'打开配置文件', self) open_config.setShortcut('Ctrl+E') # 快捷键 open_config.setStatusTip('Open config.ini') #self.connect(open_config, QtCore.SIGNAL('triggered()'), self.Open_Config) start_test = QAction(u'开始测试', self) start_test.setShortcut('Ctrl+T') # 快捷键 start_test.setStatusTip('Start application') #self.connect(start_test, QtCore.SIGNAL('triggered()'), self.Start_Test) exit = QAction(u'退出', self) exit.setShortcut('Ctrl+Q') # 快捷键 exit.setStatusTip('Start application') #self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()')) shortcutkey = self.menuBar().addMenu(u'&功能') shortcutkey.addAction(open_config) shortcutkey.addAction(start_test) shortcutkey = self.menuBar().addMenu(u'&工具') shortcutkey.addAction(exit) def ToolBar(self): # saveEvent = QAction(QIcon('icons/exit.png'), self.tr("保存"), self) saveEvent = QAction(u"保存", self) copyEvent = QAction(u"复制", self) pasteEvent = QAction(u"粘贴", self) toolbar = self.addToolBar(u"工具栏") toolbar.addAction(saveEvent) toolbar.addAction(copyEvent) toolbar.addAction(pasteEvent) def StatusBar(self): self.statusBar().showMessage(self.tr("作者:johnny 博客地址: http://blog.csdn.net/z_johnny")) def Center(self): screen = QDesktopWidget().screenGeometry() # 计算桌面分辨率 size = self.geometry() # 获得 QWidget 的尺寸 self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2) # 把窗体移动到屏幕中央 def closeEvent(self, event): reply = QMessageBox.question(self, u'来自 Johnny 的消息', "Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() def CalendarWidget(self): self.calendarWidget = QCalendarWidget(self) self.calendarWidget.setGridVisible(True) self.connect(self.calendarWidget, SIGNAL('selectionChanged()'), self.showDate) self.date_label = QLabel() date = self.calendarWidget.selectedDate() self.date_label.setText(str(date.toPyDate())) return self.calendarWidget def showDate(self): date = self.calendarWidget.selectedDate() self.date_label.setText(self.tr(' 已选择日期: ')+str(date.toPyDate())) return self.date_labelclass JzCalc(QDialog): """ 计算器,使用方法:输入后按回车,如 ' 1+1 ' QDialog类是对话框窗口的基类。对话框窗口是主要 用于短期任务以及和用户进行简要通讯的顶级窗口。 QDialog可以是模式的也可以是非模式的。QDialog支持扩展性并且可以提供返回值。它们可以有 默认按钮。 QDialog也可以有一个QSizeGrip在它的右下角,使用setSizeGripEnabled()。 QDialog 是最普通的顶级窗口。不被嵌入到一个父窗口部件的窗口部件被叫做顶级窗口部件。 """ def __init__(self, parent=None): super(JzCalc, self).__init__(parent) self.browser = QTextBrowser() self.lineEdit = QLineEdit(self.tr("使用方法:输入后按回车,如 ' 1+1 '")) self.lineEdit.selectAll() self.lineEdit.setFocus() layout = QVBoxLayout() layout.addWidget(self.browser) layout.addWidget(self.lineEdit) self.setLayout(layout) self.connect(self.lineEdit, SIGNAL("returnPressed()"), self.result) def result(self): try: text = unicode(self.lineEdit.text()) self.browser.append("%s = <b>%s</b>" % (text, eval(text))) except: self.browser.append( "<font color=red>%s is invalid!</font>" % text)class JzleftWidget(QWidget): """ 一套整体布局,点击'内存区选择'出现新窗口(复选框) QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。 每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。 一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。 """ def __init__(self, parent=None): super(JzleftWidget, self).__init__(parent) leftBoxLayout = QVBoxLayout() leftBoxLayout.addWidget(self.ServiceURL(),) leftBoxLayout.addWidget(self.InventoryModule()) leftBoxLayout.addWidget(self.Protocol()) leftBoxLayout.addWidget(self.Business()) self.setLayout(leftBoxLayout) def ServiceURL(self): url_Label = QLabel(self.tr("地址:")) url_Label_lineEdit = QLineEdit("http://192.168.*.*:8181/ttk") url_groupbox = QGroupBox(self.tr("TTK服务地址")) url_varLayout = QVBoxLayout(url_groupbox) url_varLayout.addWidget(url_Label) url_varLayout.addWidget(url_Label_lineEdit) return url_groupbox def InventoryModule(self): module_singleRadioButton = QRadioButton(self.tr("单次")) module_setnumRadioButton = QRadioButton(self.tr("按次")) module_loopRadioButton = QRadioButton(self.tr("无限循环")) module_mustsucceedRadioButton = QRadioButton(self.tr("至少成功一次")) module_settimeRadioButton = QRadioButton(self.tr("定时(单位ms)")) module_setnumRadioButton_lineEdit = QLineEdit() module_settimeRadioButton_LineEdit = QLineEdit("5000") module_groupbox = QGroupBox(self.tr("清点模式")) module_varLayout = QVBoxLayout(module_groupbox) module_varLayout.addStretch(1) module_varLayout.addWidget(module_singleRadioButton) module_varLayout.addWidget(module_setnumRadioButton) module_varLayout.addWidget(module_setnumRadioButton_lineEdit) module_varLayout.addWidget(module_loopRadioButton) module_varLayout.addWidget(module_mustsucceedRadioButton) module_varLayout.addWidget(module_settimeRadioButton) module_varLayout.addWidget(module_settimeRadioButton_LineEdit) return module_groupbox def Protocol(self): protocol_sLabel = QLabel(self.tr("协议标准")) protocol_iLabel = QLabel(self.tr("清点周期(单位ms)")) protocol_ComboBox = QComboBox() protocol_ComboBox.insertItem(0, self.tr("GB")) protocol_ComboBox.insertItem(1, self.tr("6C")) protocol_iLabel_lineEdit = QLineEdit("1") protocol_groupbox = QGroupBox(self.tr("协议和清点周期")) protocol_varLayout = QVBoxLayout(protocol_groupbox) protocol_varLayout.addWidget(protocol_sLabel) protocol_varLayout.addWidget(protocol_ComboBox) protocol_varLayout.addWidget(protocol_iLabel) protocol_varLayout.addWidget(protocol_iLabel_lineEdit) return protocol_groupbox def Business(self): business_Label = QLabel(self.tr("业务测试")) business_combobox = QComboBox(self) business_combobox.insertItem(0, self.tr("清点")) business_combobox.insertItem(1, self.tr("读取")) business_combobox.insertItem(2, self.tr("写入")) business_combobox.insertItem(3, self.tr("写回读")) business_PushButton = QPushButton(self.tr("内存区选择")) business_groupbox = QGroupBox(self.tr("业务选择")) business_varLayout = QHBoxLayout(business_groupbox) business_varLayout.addWidget(business_Label) business_varLayout.addWidget(business_combobox) business_varLayout.addWidget(business_PushButton) self.connect(business_PushButton, SIGNAL('clicked()'), self.memory_show) return business_groupbox def memory_show(self): business_checkboxs = [] # 创建列表存放checkbox对象 business_memoryCheckBox1 = QCheckBox("user01-1-word") business_checkboxs.append(business_memoryCheckBox1) business_memoryCheckBox2 = QCheckBox("user01-2-word") business_checkboxs.append(business_memoryCheckBox2) business_memoryCheckBox3 = QCheckBox("user01-4-word") business_checkboxs.append(business_memoryCheckBox3) business_memoryCheckBox4 = QCheckBox("user01-6-word") business_checkboxs.append(business_memoryCheckBox4) business_memoryCheckBox5 = QCheckBox("user01-8-word") business_checkboxs.append(business_memoryCheckBox5) business_memoryCheckBox6 = QCheckBox("user01-16-word") business_checkboxs.append(business_memoryCheckBox6) business_memoryCheckBox7 = QCheckBox("user01-28-word") business_checkboxs.append(business_memoryCheckBox7) business_memoryCheckBox8 = QCheckBox("user01-32-word") business_checkboxs.append(business_memoryCheckBox8) business_memoryData_lable = QLabel(self.tr("写数据")) business_memoryData_lable_lineEdit = QLineEdit("5A5A") self.business_memoryWidge = QWidget() self.business_memoryWidge.setWindowTitle(self.tr("内存区选择")) business_memoryLayout = QGridLayout(self.business_memoryWidge) business_memoryLayout.addWidget(business_memoryCheckBox1, 0, 0) business_memoryLayout.addWidget(business_memoryCheckBox2, 0, 1) business_memoryLayout.addWidget(business_memoryCheckBox3, 0, 2) business_memoryLayout.addWidget(business_memoryCheckBox4, 0, 3) business_memoryLayout.addWidget(business_memoryCheckBox5, 1, 0) business_memoryLayout.addWidget(business_memoryCheckBox6, 1, 1) business_memoryLayout.addWidget(business_memoryCheckBox7, 1, 2) business_memoryLayout.addWidget(business_memoryCheckBox8, 1, 3) business_memoryLayout.addWidget(business_memoryData_lable, 2, 0) business_memoryLayout.addWidget(business_memoryData_lable_lineEdit, 2, 1) self.business_memoryWidge.hide() # 默认隐藏 if self.business_memoryWidge.isHidden(): self.business_memoryWidge.show() else: self.business_memoryWidge.hide()class JzrightWidget(QWidget): def __init__(self, parent=None): super(JzrightWidget, self).__init__(parent) rightBoxLayout = QVBoxLayout() rightBoxLayout.addWidget(self.Fileset() ) rightBoxLayout.addLayout(self.TagDistance()) rightBoxLayout.addLayout(self.DataShow()) rightBoxLayout.addLayout(self.Button()) rightBoxLayout.addWidget(self.Table()) rightBoxLayout.addWidget(self.FrameLable()) self.setLayout(rightBoxLayout) def Fileset(self): file_Label = QLabel(self.tr("文件保存路径")) file_PushButton = QPushButton(self.tr("选择路径")) file_lineEdit = QLineEdit() file_groupbox = QGroupBox(self.tr("文件设置")) file_varLayout = QVBoxLayout(file_groupbox) file_varLayout.addWidget(file_Label) file_varLayout.addWidget(file_lineEdit) file_varLayout.addWidget(file_PushButton) return file_groupbox def TagDistance(self): tagDistance_lable = QLabel(self.tr("标签距离(单位m)")) tagDistance_lineEdit = QLineEdit() tagDistance_varLayout = QVBoxLayout() tagDistance_varLayout.addWidget(tagDistance_lable) tagDistance_varLayout.addWidget(tagDistance_lineEdit) return tagDistance_varLayout def DataShow(self): data_Label = QLabel(self.tr("测试数据")) data_TextBrowser = QTextBrowser() data_varLayout = QVBoxLayout() data_varLayout.addWidget(data_Label) data_varLayout.addWidget(data_TextBrowser) return data_varLayout def Button(self): button_start = QPushButton(self.tr("开始测试")) button_goon = QPushButton(self.tr("继续测试")) bottonLayout = QHBoxLayout() bottonLayout.addStretch(1) bottonLayout.addWidget(button_start) bottonLayout.addWidget(button_goon) return bottonLayout def Table(self): treewidget = QTreeWidget() treewidget.setHeaderLabels(['Johnny', 'very', u'帅']) return treewidget def FrameLable(self): otherLabel = QLabel(self.tr("备注:")) otherLabel.setFrameStyle(QFrame.Panel | QFrame.Sunken) return otherLabelif __name__ == '__main__': app = QApplication(sys.argv) windows = JzmainWindow() windows.show() app.exec_()
PyQt4_LayoutWindow
#!/usr/bin/env python#coding: utf-8'''FuncName: PyQt4_LayoutWindow.pyDesc: Layout Windows with PyQt4Date: 2017-02-10 10:30Author: johnnyHome: http://blog.csdn.net/z_johnny'''import sysfrom PyQt4.QtGui import *from PyQt4.QtCore import *QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))class JzmainWindow(QMainWindow): def __init__(self, parent=None): super(JzmainWindow, self).__init__(parent) self.setWindowTitle('JzmainWindow') self.setWindowIcon(QIcon("/conf/head.ico")) self.MenuBar() self.ToolBar() self.StatusBar() self.Center() self.CentralWidget() def CentralWidget(self): mainLayout = QGridLayout(self) mainLayout.setMargin(20) mainLayout.setSpacing(15) mainLayout.addWidget(JzleftWidget(), 0, 0) mainLayout.addWidget(JzQWidget(), 1, 1) mainLayout.addWidget(JzrightWidget(), 0, 1) mainLayout.addWidget(self.CalendarWidget(), 1, 0) mainLayout.addWidget(self.showDate(), 2, 0) widget = QWidget() widget.setLayout(mainLayout) self.setCentralWidget(widget) # 加一个widget布局设为中心 def MenuBar(self): open_config = QAction(u'打开配置文件', self) open_config.setShortcut('Ctrl+E') # 快捷键 open_config.setStatusTip('Open config.ini') #self.connect(open_config, QtCore.SIGNAL('triggered()'), self.Open_Config) start_test = QAction(u'开始测试', self) start_test.setShortcut('Ctrl+T') # 快捷键 start_test.setStatusTip('Start application') #self.connect(start_test, QtCore.SIGNAL('triggered()'), self.Start_Test) exit = QAction(u'退出', self) exit.setShortcut('Ctrl+Q') # 快捷键 exit.setStatusTip('Start application') #self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()')) shortcutkey = self.menuBar().addMenu(u'&功能') shortcutkey.addAction(open_config) shortcutkey.addAction(start_test) shortcutkey = self.menuBar().addMenu(u'&工具') shortcutkey.addAction(exit) def ToolBar(self): # saveEvent = QAction(QIcon('icons/exit.png'), self.tr("保存"), self) saveEvent = QAction(u"保存", self) copyEvent = QAction(u"复制", self) pasteEvent = QAction(u"粘贴", self) toolbar = self.addToolBar(u"工具栏") toolbar.addAction(saveEvent) toolbar.addAction(copyEvent) toolbar.addAction(pasteEvent) def StatusBar(self): self.statusBar().showMessage(self.tr("作者:johnny 博客地址: http://blog.csdn.net/z_johnny")) def Center(self): screen = QDesktopWidget().screenGeometry() # 计算桌面分辨率 size = self.geometry() # 获得 QWidget 的尺寸 self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2) # 把窗体移动到屏幕中央 def closeEvent(self, event): reply = QMessageBox.question(self, u'来自Johnny的消息', "Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() def CalendarWidget(self): self.calendarWidget = QCalendarWidget(self) self.calendarWidget.setGridVisible(True) self.connect(self.calendarWidget, SIGNAL('selectionChanged()'), self.showDate) self.date_label = QLabel() date = self.calendarWidget.selectedDate() self.date_label.setText(str(date.toPyDate())) return self.calendarWidget def showDate(self): date = self.calendarWidget.selectedDate() self.date_label.setText(self.tr(' 已选择日期: ')+str(date.toPyDate())) return self.date_labelclass JzQWidget(QWidget): def __init__(self, parent=None): super(JzQWidget, self).__init__(parent) #JzmainWindow.__init__() self.initUI() def initUI(self): names = ['Cls', 'Bck', '', 'Close', '7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+'] grid = QGridLayout() j = 0 pos = [(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3), (4, 0), (4, 1), (4, 2), (4, 3)] for i in names: button = QPushButton(i) if j == 2: grid.addWidget(QLabel(''), 0, 2) else: grid.addWidget(button, pos[j][0], pos[j][1]) j = j + 1 self.setLayout(grid)class JzCalc(QDialog): def __init__(self, parent=None): super(JzCalc, self).__init__(parent) self.browser = QTextBrowser() self.lineEdit = QLineEdit(self.tr("使用方法:输入后按回车,如 ' 1+1 '")) self.lineEdit.selectAll() self.lineEdit.setFocus() layout = QVBoxLayout() layout.addWidget(self.browser) layout.addWidget(self.lineEdit) self.setLayout(layout) self.connect(self.lineEdit, SIGNAL("returnPressed()"), self.result) def result(self): try: text = unicode(self.lineEdit.text()) self.browser.append("%s = <b>%s</b>" % (text, eval(text))) except: self.browser.append( "<font color=red>%s is invalid!</font>" % text)class JzleftWidget(QDialog): def __init__(self, parent=None): super(JzleftWidget, self).__init__(parent) leftBoxLayout = QVBoxLayout() leftBoxLayout.addWidget(self.ServiceURL(),) leftBoxLayout.addWidget(self.InventoryModule()) leftBoxLayout.addWidget(self.Protocol()) leftBoxLayout.addWidget(self.Business()) self.setLayout(leftBoxLayout) def ServiceURL(self): url_Label = QLabel(self.tr("地址:")) url_Label_lineEdit = QLineEdit("http://192.168.*.*:8181/ttk") url_groupbox = QGroupBox(self.tr("TTK服务地址")) url_varLayout = QVBoxLayout(url_groupbox) url_varLayout.addWidget(url_Label) url_varLayout.addWidget(url_Label_lineEdit) return url_groupbox def InventoryModule(self): module_singleRadioButton = QRadioButton(self.tr("单次")) module_setnumRadioButton = QRadioButton(self.tr("按次")) module_loopRadioButton = QRadioButton(self.tr("无限循环")) module_mustsucceedRadioButton = QRadioButton(self.tr("至少成功一次")) module_settimeRadioButton = QRadioButton(self.tr("定时(单位ms)")) module_setnumRadioButton_lineEdit = QLineEdit() module_settimeRadioButton_LineEdit = QLineEdit("5000") module_groupbox = QGroupBox(self.tr("清点模式")) module_varLayout = QVBoxLayout(module_groupbox) module_varLayout.addStretch(1) module_varLayout.addWidget(module_singleRadioButton) module_varLayout.addWidget(module_setnumRadioButton) module_varLayout.addWidget(module_setnumRadioButton_lineEdit) module_varLayout.addWidget(module_loopRadioButton) module_varLayout.addWidget(module_mustsucceedRadioButton) module_varLayout.addWidget(module_settimeRadioButton) module_varLayout.addWidget(module_settimeRadioButton_LineEdit) return module_groupbox def Protocol(self): protocol_sLabel = QLabel(self.tr("协议标准")) protocol_iLabel = QLabel(self.tr("清点周期(单位ms)")) protocol_ComboBox = QComboBox() protocol_ComboBox.insertItem(0, self.tr("GB")) protocol_ComboBox.insertItem(1, self.tr("6C")) protocol_iLabel_lineEdit = QLineEdit("1") protocol_groupbox = QGroupBox(self.tr("协议和清点周期")) protocol_varLayout = QVBoxLayout(protocol_groupbox) protocol_varLayout.addWidget(protocol_sLabel) protocol_varLayout.addWidget(protocol_ComboBox) protocol_varLayout.addWidget(protocol_iLabel) protocol_varLayout.addWidget(protocol_iLabel_lineEdit) return protocol_groupbox def Business(self): business_Label = QLabel(self.tr("业务测试")) business_combobox = QComboBox(self) business_combobox.insertItem(0, self.tr("清点")) business_combobox.insertItem(1, self.tr("读取")) business_combobox.insertItem(2, self.tr("写入")) business_combobox.insertItem(3, self.tr("写回读")) business_PushButton = QPushButton(self.tr("内存区选择")) business_groupbox = QGroupBox(self.tr("业务选择")) business_varLayout = QHBoxLayout(business_groupbox) business_varLayout.addWidget(business_Label) business_varLayout.addWidget(business_combobox) business_varLayout.addWidget(business_PushButton) self.connect(business_PushButton, SIGNAL('clicked()'), self.memory_show) return business_groupbox def memory_show(self): business_checkboxs = [] # 创建列表存放checkbox对象 business_memoryCheckBox1 = QCheckBox("user01-1-word") business_checkboxs.append(business_memoryCheckBox1) business_memoryCheckBox2 = QCheckBox("user01-2-word") business_checkboxs.append(business_memoryCheckBox2) business_memoryCheckBox3 = QCheckBox("user01-4-word") business_checkboxs.append(business_memoryCheckBox3) business_memoryCheckBox4 = QCheckBox("user01-6-word") business_checkboxs.append(business_memoryCheckBox4) business_memoryCheckBox5 = QCheckBox("user01-8-word") business_checkboxs.append(business_memoryCheckBox5) business_memoryCheckBox6 = QCheckBox("user01-16-word") business_checkboxs.append(business_memoryCheckBox6) business_memoryCheckBox7 = QCheckBox("user01-28-word") business_checkboxs.append(business_memoryCheckBox7) business_memoryCheckBox8 = QCheckBox("user01-32-word") business_checkboxs.append(business_memoryCheckBox8) business_memoryData_lable = QLabel(self.tr("写数据")) business_memoryData_lable_lineEdit = QLineEdit("5A5A") self.business_memoryWidge = QWidget() self.business_memoryWidge.setWindowTitle(self.tr("内存区选择")) business_memoryLayout = QGridLayout(self.business_memoryWidge) business_memoryLayout.addWidget(business_memoryCheckBox1, 0, 0) business_memoryLayout.addWidget(business_memoryCheckBox2, 0, 1) business_memoryLayout.addWidget(business_memoryCheckBox3, 0, 2) business_memoryLayout.addWidget(business_memoryCheckBox4, 0, 3) business_memoryLayout.addWidget(business_memoryCheckBox5, 1, 0) business_memoryLayout.addWidget(business_memoryCheckBox6, 1, 1) business_memoryLayout.addWidget(business_memoryCheckBox7, 1, 2) business_memoryLayout.addWidget(business_memoryCheckBox8, 1, 3) business_memoryLayout.addWidget(business_memoryData_lable, 2, 0) business_memoryLayout.addWidget(business_memoryData_lable_lineEdit, 2, 1) self.business_memoryWidge.hide() # 默认隐藏 if self.business_memoryWidge.isHidden(): self.business_memoryWidge.show() else: self.business_memoryWidge.hide()class JzrightWidget(QWidget): def __init__(self, parent=None): super(JzrightWidget, self).__init__(parent) rightBoxLayout = QVBoxLayout() rightBoxLayout.addWidget(self.Fileset() ) rightBoxLayout.addLayout(self.TagDistance()) rightBoxLayout.addLayout(self.DataShow()) rightBoxLayout.addLayout(self.Button()) rightBoxLayout.addWidget(self.Table()) rightBoxLayout.addWidget(self.FrameLable()) self.setLayout(rightBoxLayout) def Fileset(self): file_Label = QLabel(self.tr("文件保存路径")) file_PushButton = QPushButton(self.tr("选择路径")) file_lineEdit = QLineEdit() file_groupbox = QGroupBox(self.tr("文件设置")) file_varLayout = QVBoxLayout(file_groupbox) file_varLayout.addWidget(file_Label) file_varLayout.addWidget(file_lineEdit) file_varLayout.addWidget(file_PushButton) return file_groupbox def TagDistance(self): tagDistance_lable = QLabel(self.tr("标签距离(单位m)")) tagDistance_lineEdit = QLineEdit() tagDistance_varLayout = QVBoxLayout() tagDistance_varLayout.addWidget(tagDistance_lable) tagDistance_varLayout.addWidget(tagDistance_lineEdit) return tagDistance_varLayout def DataShow(self): data_Label = QLabel(self.tr("测试数据")) data_TextBrowser = QTextBrowser() data_varLayout = QVBoxLayout() data_varLayout.addWidget(data_Label) data_varLayout.addWidget(data_TextBrowser) return data_varLayout def Button(self): button_start = QPushButton(self.tr("开始测试")) button_goon = QPushButton(self.tr("继续测试")) bottonLayout = QHBoxLayout() bottonLayout.addStretch(1) bottonLayout.addWidget(button_start) bottonLayout.addWidget(button_goon) return bottonLayout def Table(self): treewidget = QTreeWidget() treewidget.setHeaderLabels(['Johnny', 'is', u'帅']) return treewidget def FrameLable(self): otherLabel = QLabel(self.tr("备注:")) otherLabel.setFrameStyle(QFrame.Panel | QFrame.Sunken) return otherLabelif __name__ == '__main__': app = QApplication(sys.argv) windows = JzmainWindow() windows.show() app.exec_()
0 0
- PyQt4 常用
- Pyqt4
- pyqt4
- PyQt4基本布局常用方法之addSpacing
- PyQt4 - (1) PyQt4简介
- PyQt4 - (1) PyQt4简介
- PyQt4 - (1) PyQt4简介
- PyQt4 - (1) PyQt4简介
- PyQt4例子
- PyQt4-Widget
- pyQt4 安装
- pyQt4入门
- python3-pyqt4
- pyqt4 基础知识
- PyQt4+fedora20
- PyQt4+win732bit
- PyQt4初试
- PyQt4教程
- android开发中需要关闭指定activity的方法
- Vector3.Slerp 球形插值详解
- web页面排版(2) - css3 弹性布局和多列布局
- QA问答系统中的深度学习技术实现
- 欢迎使用CSDN-markdown编辑器
- PyQt4 常用
- 安卓中的MVP模式
- Unity编程Tips
- 单例模式之双锁机制
- WdatePicker详解
- 第34篇 一对多自由控制语音(十三)
- CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙
- 浅谈windows下搭建Vue.js开发环境
- Android 系统自动重启Bug(高通平台)