import sys reload(sys) sys.setdefaultencoding('utf8') from PyQt4 import QtGui, QtCore try: from PyQt4.QtCore import QString except ImportError: QString = type('') from PyQt4.QtGui import * from PyQt4.QtGui import QDialog, QToolBox, QTabWidget, QLabel, QVBoxLayout, QPushButton, QLineEdit from PyQt4.QtCore import Qt, QDir, SIGNAL, SLOT from PyQt4.QtGui import QFileDialog class SelectChartArea(QDialog): def __init__(self, parent=None): super(SelectChartArea, self).__init__(parent) self.listWidget = QListWidget() self.listWidget.insertItem(0, u"") self.listWidget.insertItem(1, u"") self.listWidget.insertItem(2, u"") self.label1 = QLabel(u"!") self.pixMap = QPixmap("./pic/zhe.png") self.label1.setPixmap(self.pixMap) self.label2 = QLabel(u"!") self.label3 = QLabel(u"!") self.stack = QStackedWidget() self.stack.addWidget(self.label1) self.stack.addWidget(self.label2) self.stack.addWidget(self.label3) self.mainLayout = QHBoxLayout(self) self.mainLayout.setMargin(0) self.mainLayout.setSpacing(0) self.mainLayout.addWidget(self.listWidget) self.mainLayout.addWidget(self.stack, 0, Qt.AlignHCenter) self.mainLayout.setStretchFactor(self.listWidget, 1) self.mainLayout.setStretchFactor(self.stack, 3) self.connect(self.listWidget, SIGNAL("currentRowChanged(int)"), self.stack, SLOT("setCurrentIndex(int)")) class CahrtTab(QToolBox): label = '板' def __init__(self, parent=None): super(CahrtTab, self).__init__(parent) self.btn1 = SelectChartArea() self.groupbox1 = QtGui.QGroupBox() self.vlayout1 = QtGui.QVBoxLayout(self.groupbox1) self.vlayout1.addWidget(self.btn1) self.addItem(self.groupbox1, u">>板") self.btn2 = CustomChartArea() self.groupbox2 = QtGui.QGroupBox() self.vlayout2 = QtGui.QVBoxLayout(self.groupbox2) self.vlayout2.addWidget(self.btn2) self.addItem(self.groupbox2, u">>板") class CustomChartArea(QToolBox): def __init__(self, parent=None): super(CustomChartArea, self).__init__(parent) self.btn2 = QtGui.QToolButton() self.btn2.setText(u"2") ########## ########### GenrateTabe class GenrateTabe(QDialog): label = '出' def __init__(self, parent=None): super(GenrateTabe, self).__init__(parent) self.setGeometry(600, 100, 415, 650) label0 = QLabel(u"设置:") oneLayout = QVBoxLayout() oneLayout.addWidget(label0) label1 = QPushButton(u"板:") label2 = QLabel(u"置:") label3 = QPushButton(u"置:") label4 = QPushButton(u"存储路径:") label1right = QLineEdit() label2right = QLineEdit() label3right = QLineEdit() label4right = QLineEdit() secondLayout = QGridLayout() secondLayout.addWidget(label1, 0, 0) secondLayout.addWidget(label1right, 0, 1) secondLayout.addWidget(label2, 1, 0) secondLayout.addWidget(label2right, 1, 1) secondLayout.addWidget(label3, 2, 0) secondLayout.addWidget(label3right, 2, 1) secondLayout.addWidget(label4, 3, 0) secondLayout.addWidget(label4right, 3, 1) btnbegin = QPushButton(u"生成") btncancel = QPushButton(u"取消") buttonLayout = QHBoxLayout() buttonLayout.addStretch(1) buttonLayout.addWidget(btnbegin) buttonLayout.addWidget(btncancel) mainLayout = QGridLayout(self) mainLayout.addLayout(oneLayout, 0, 0) mainLayout.addLayout(secondLayout, 1, 0) mainLayout.addLayout(buttonLayout, 2, 0) mainLayout.setSizeConstraint(QLayout.SetFixedSize) ###########