示例#1
0
 def paint(self, painter, option, index):
     print(option.state)
     font = QtWidgets.QFont("Sans", 11, QtWidgets.QFont.Normal)
     if option.state == QtWidgets.QStyle.State_Selected:
         print("selected")
         font.setStyle(QtWidgets.QFont.Bold)
     r = option.rect
     align = QtCore.Qt.AlignVCenter | QtCore.Qt.AlignLeft | QtCore.Qt.TextWordWrap
     painter.setFont(font)
     painter.drawText(r.left(), r.top(), r.width(), r.height(), align,
                      index.data())
示例#2
0
 def __init__(self, parent=None):
     super(TitleBar, self).__init__(parent)
     # 支持qss设置背景
     self.setAttribute(QtCore.Qt.WA_StyledBackground, True)
     self.mPos = None
     self.iconSize = 20  # 图标的默认大小
     # 设置默认背景颜色,否则由于受到父窗口的影响导致透明
     self.setAutoFillBackground(True)
     palette = self.palette()
     palette.setColor(palette.Window, QtGui.QColor(240, 240, 240))
     self.setPalette(palette)
     # 布局
     layout = QtWidgets.QHBoxLayout(self, spacing=0)
     layout.setContentsMargins(0, 0, 0, 0)
     # 窗口图标
     self.iconLabel = QtWidgets.QLabel(self)
     #         self.iconLabel.setScaledContents(True)
     layout.addWidget(self.iconLabel)
     # 窗口标题
     self.titleLabel = QtWidgets.QLabel(self)
     self.titleLabel.setMargin(2)
     layout.addWidget(self.titleLabel)
     # 中间伸缩条
     layout.addSpacerItem(
         QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding,
                               QtWidgets.QSizePolicy.Minimum))
     # 利用Webdings字体来显示图标
     font = self.font() or QtWidgets.QFont()
     font.setFamily('Webdings')
     # 最小化按钮
     self.buttonMinimum = QtWidgets.QPushButton(
         '—',
         self,
         clicked=self.windowMinimumed.emit,
         font=font,
         objectName='buttonMinimum')
     layout.addWidget(self.buttonMinimum)
     # 最大化/还原按钮
     '''
     self.buttonMaximum = QtWidgets.QPushButton(
         '1', self, clicked=self.showMaximized, font=font, objectName='buttonMaximum')
     layout.addWidget(self.buttonMaximum)
     '''
     # 关闭按钮
     self.buttonClose = QtWidgets.QPushButton(
         'x',
         self,
         clicked=self.windowClosed.emit,
         font=font,
         objectName='buttonClose')
     layout.addWidget(self.buttonClose)
     # 初始高度
     self.setHeight()
示例#3
0
    def initUI(self):
        #----------MainFrame parameters----------#
        self.setWindowTitle("APPA " + var.version)
        self.setFixedSize(700, 550)
        self.center()
        #-------------------------------------#

        #---------------Creation of menubar----------------------------------#
        self.open = QtWidgets.QAction('&Open', self)
        self.open.setShortcut('Ctrl+O')
        self.open.setStatusTip('Open File')
        self.connect(self.open, QtCore.SIGNAL('triggered()'), self.showDialog)

        self.close = QtWidgets.QAction('&Exit', self)
        self.close.setShortcut('Ctrl+Q')
        self.close.setStatusTip('Exit application')
        self.connect(self.close, QtCore.SIGNAL('triggered()'),
                     QtCore.SLOT('close()'))

        self.save = QtWidgets.QAction('&Save', self)
        self.save.setShortcut('Ctrl+S')
        self.save.setStatusTip('Save simulation data')
        self.connect(self.save, QtCore.SIGNAL('triggered()'), self.showSave)

        self.export = QtWidgets.QAction('E&xport (.xyz)', self)
        self.export.setShortcut('Ctrl+X')
        self.export.setStatusTip('Export data to XYZ file')
        self.connect(self.export, QtCore.SIGNAL('triggered()'),
                     self.showExport)

        self.menubar = self.menuBar()
        self.fileMenu1 = self.menubar.addMenu('&File')
        self.fileMenu1.addAction(self.open)
        self.fileMenu1.addAction(self.save)
        self.fileMenu1.addAction(self.export)
        self.fileMenu1.addAction(self.close)

        self.ec = QtWidgets.QAction('&Elastics constants', self)
        self.ec.setShortcut('Ctrl+E')
        self.ec.setStatusTip('Calculation of Elastics constants')
        self.connect(self.ec, QtCore.SIGNAL('triggered()'), self.showElastics)

        self.fileMenu2 = self.menubar.addMenu('&Calculation')
        self.fileMenu2.addAction(self.ec)

        self.unit = QtWidgets.QAction('&Units', self)
        self.unit.setShortcut('Ctrl+U')
        self.unit.setStatusTip('change physical units')
        self.connect(self.unit, QtCore.SIGNAL('triggered()'), self.showConv)

        self.fileMenu3 = self.menubar.addMenu('&Option')
        self.fileMenu3.addAction(self.unit)

        self.about = QtWidgets.QAction('&About', self)
        self.about.setShortcut('Ctrl+A')
        self.about.setStatusTip('About software')
        self.connect(self.about, QtCore.SIGNAL('triggered()'), self.showAbout)

        self.fileMenu3 = self.menubar.addMenu('&APPA')
        self.fileMenu3.addAction(self.about)
        #---------------------------------------------------------------------#

        #----------------Creation of statusBar--------------------#
        self.setStatusBar(QtWidgets.QStatusBar())
        #---------------------------------------------------------#

        #-------Creation of CentralWidget-----------------------------------------#
        self.widget = QtWidgets.QWidget()
        self.widget_layout = QtWidgets.QGridLayout()
        self.widget.setLayout(self.widget_layout)

        self.box1 = QtWidgets.QGroupBox()
        self.box1layout = QtWidgets.QGridLayout()
        self.box1.setLayout(self.box1layout)

        self.lbltitle = QtWidgets.QLabel("Abinit Post-Process Application")
        self.lbltitle.setFont(QtWidgets.QFont("calibri", 25))
        self.lbltitle.setFixedWidth(520)
        self.box1layout.addWidget(self.lbltitle, 1, 0)

        self.tab = QtWidgets.QTabWidget()
        self.tab.setTabsClosable(True)
        self.connect(self.tab, QtCore.SIGNAL('tabCloseRequested (int)'),
                     self.closeTab)
        self.tab.setTabPosition(1)

        #----------Try to open the last .nc and .HIST files------------#
        #        MD_file = Read.MolecularDynamicFile("")
        #        if MD_file.isGoodFile():
        #            self.page1 = MD.Netcdf_MD(MD_file,self.units)
        #            self.tab.addTab(self.page1,MD_file.getNameFile())

        #----------Try to open the last Ground State file(BETA)--------#
        #GS_file = Read.outputFile("")
        #if GS_file.isGoodFile():
        #    self.page2 = GS.Ouput_GS(GS_file,self.units)
        #    self.tab.addTab(self.page2,str(GS_file.getNameFile()))

        #Connection of Signal (for the threading):
        self.connect(self, QtCore.SIGNAL("Reading(PyQt_PyObject)"), self.add)

        self.widget_layout.addWidget(self.box1, 1, 0, 1, 2)
        self.widget_layout.addWidget(self.tab, 2, 0, 5, 2)

        self.setCentralWidget(self.widget)
        #------------------------------------------------------------------------#
        self.show()

        #if self.tab.count() == 0:
        #    self.showDialog()
        """