Giter Club home page Giter Club logo

Comments (19)

eyllanesc avatar eyllanesc commented on July 23, 2024 3

@nitubhaskar The solution is a QProxyStyle, I have already published it as an answer in Stack Overflow

from PyQt5 import QtCore, QtGui, QtWidgets


class TabBar(QtWidgets.QTabBar):
    def tabSizeHint(self, index):
        s = QtWidgets.QTabBar.tabSizeHint(self, index)
        s.transpose()
        return s

    def paintEvent(self, event):
        painter = QtWidgets.QStylePainter(self)
        opt = QtWidgets.QStyleOptionTab()

        for i in range(self.count()):
            self.initStyleOption(opt, i)
            painter.drawControl(QtWidgets.QStyle.CE_TabBarTabShape, opt)
            painter.save()

            s = opt.rect.size()
            s.transpose()
            r = QtCore.QRect(QtCore.QPoint(), s)
            r.moveCenter(opt.rect.center())
            opt.rect = r

            c = self.tabRect(i).center()
            painter.translate(c)
            painter.rotate(90)
            painter.translate(-c)
            painter.drawControl(QtWidgets.QStyle.CE_TabBarTabLabel, opt);
            painter.restore()


class TabWidget(QtWidgets.QTabWidget):
    def __init__(self, *args, **kwargs):
        QtWidgets.QTabWidget.__init__(self, *args, **kwargs)
        self.setTabBar(TabBar(self))
        self.setTabPosition(QtWidgets.QTabWidget.West)

class ProxyStyle(QtWidgets.QProxyStyle):
    def drawControl(self, element, opt, painter, widget):
    	if element == QtWidgets.QStyle.CE_TabBarTabLabel:
    		ic = self.pixelMetric(QtWidgets.QStyle.PM_TabBarIconSize)
    		r = QtCore.QRect(opt.rect)
    		w =  0 if opt.icon.isNull() else opt.rect.width() + self.pixelMetric(QtWidgets.QStyle.PM_TabBarIconSize)
    		r.setHeight(opt.fontMetrics.width(opt.text) + w)
    		r.moveBottom(opt.rect.bottom())
    		opt.rect = r
    	QtWidgets.QProxyStyle.drawControl(self, element, opt, painter, widget)

if __name__ == '__main__':
    import sys

    app = QtWidgets.QApplication(sys.argv)
    QtWidgets.QApplication.setStyle(ProxyStyle())
    w = TabWidget()
    w.addTab(QtWidgets.QWidget(), QtGui.QIcon("zoom.png"), "ABC")
    w.addTab(QtWidgets.QWidget(), QtGui.QIcon("zoom-in.png"), "ABCDEFGH")
    w.addTab(QtWidgets.QWidget(), QtGui.QIcon("zoom-out.png"), "XYZ")

    w.resize(640, 480)
    w.show()

    sys.exit(app.exec_())

image imgur link

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024 1

try with r.setHeight(opt.fontMetrics.width(opt.text) + w +- some_value)

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024 1

The buttons will be arranged with the following code

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    app.setStyle(ProxyStyle("fusion"))
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

With the previous correction it is no longer necessary r.setHeight(opt.fontMetrics.width(opt.text) + w +- some_value)

and for padding use the following:

from PyQt5 import QtCore, QtGui, QtWidgets


class TabBar(QtWidgets.QTabBar):
    def tabSizeHint(self, index):
        s = QtWidgets.QTabBar.tabSizeHint(self, index)
        s.transpose() 
        return s + QtCore.QSize(10, 10) # <---padding

    def paintEvent(self, event):
        painter = QtWidgets.QStylePainter(self)
        opt = QtWidgets.QStyleOptionTab()

        for i in range(self.count()):
            self.initStyleOption(opt, i)
            painter.drawControl(QtWidgets.QStyle.CE_TabBarTabShape, opt)
            painter.save()

            s = opt.rect.size()
            s.transpose()
            r = QtCore.QRect(QtCore.QPoint(), s)
            r.moveCenter(opt.rect.center())
            opt.rect = r

            c = self.tabRect(i).center()
            painter.translate(c)
            painter.rotate(90)
            painter.translate(-c)
            painter.drawControl(QtWidgets.QStyle.CE_TabBarTabLabel, opt)
            painter.restore()

class TabWidget(QtWidgets.QTabWidget):
    def __init__(self, *args, **kwargs):
        QtWidgets.QTabWidget.__init__(self, *args, **kwargs)
        self.setTabBar(TabBar(self))
        self.setTabPosition(QtWidgets.QTabWidget.West)

Output:

screenshot from 2018-07-30 01-42-31

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024 1

@nitubhaskar Well, I helped him in what he could. If you want very special features that Qt does not offer then you will have to pay an additional cost, and in this case the cost is that you must use the fusion style. 😄

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024 1

I was using text and icon in qpushbutton. Now i just removed both and made 1 image with icon and text and added it in stylesheet background-image: url(:/img/img/report.png); like that. so it fixed the background color problem as image covers it.

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

thanks a lot for the code and the quick help. appreciate it.

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

Hi, as you told me to upload to github, i have done that here https://github.com/nitubhaskar/uipyqt5/tree/master.

Thanks for help. The code to switch UI tab text is in tabwidget file which is imported in mainwindowui file. hence i was not able to make proxystyle work in mainwindow as i couldnt figure out where to add proxy class without affecting other element style.

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024

@nitubhaskar Your code generates errors, correct and notify me, If you want help from me you will have to provide a workable code, I have not asked you to provide me with your project, if you can not then create another minimum project, in SO we call it MCVE 😄

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

sorry, i will take a look at it. i only changed the website links in it and removed ui files. let me just add those ui files and it will work then. Edit: I have updated them with all the files. i have checked in pycharm and its working. You have to click "Start your free trial" to get to main window and then you can see tabs text issue on left side.

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024

@nitubhaskar I get the following:

screenshot from 2018-07-27 19-08-46

If you could make that part jump and throw me into the problem directly it would be great, I'm getting bored 😄

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

sorry, i was keeping window handling flow same if it matters to drawing. Needed to click trial mode to get to main window which i mentioned in previous comment. Oh my, sorry. i just noticed what happened
That trial mode button has image on it, so without png files it didnt show. very sorry on my blunder >.>

i have removed it now, so you can get to main window right away.

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024

@nitubhaskar I already saw what the problem is, but to solve it I need you to share the .ui that generates the mainwindow_ui.py together with the .rc

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

ok added/updated these files in repo "res.qrc" "res_rc.py" "mainwindow.ui" "mainwindow_ui.py"

i had too many images. so i removed many and kept dummy icons for test. thanks

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024

The problem is in the padding that you use in the tabbar, if you remove them as shown in the following image:

screenshot from 2018-07-28 08-56-12

You get the following:

screenshot from 2018-07-28 08-42-27

mainwindow_ui.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.11.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(900, 570)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        MainWindow.setMinimumSize(QtCore.QSize(900, 570))
        MainWindow.setBaseSize(QtCore.QSize(900, 570))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("C:/Users/Shift/.designer/backup/images/hospital.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
        self.centralwidget.setSizePolicy(sizePolicy)
        self.centralwidget.setObjectName("centralwidget")
        self.centralVL = QtWidgets.QVBoxLayout(self.centralwidget)
        self.centralVL.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
        self.centralVL.setContentsMargins(0, 0, 0, 0)
        self.centralVL.setSpacing(0)
        self.centralVL.setObjectName("centralVL")
        self.bannerF = QtWidgets.QFrame(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.bannerF.sizePolicy().hasHeightForWidth())
        self.bannerF.setSizePolicy(sizePolicy)
        self.bannerF.setMinimumSize(QtCore.QSize(900, 40))
        self.bannerF.setMaximumSize(QtCore.QSize(16777215, 40))
        self.bannerF.setBaseSize(QtCore.QSize(900, 40))
        self.bannerF.setStyleSheet("background-color: rgb(31, 56, 78);")
        self.bannerF.setObjectName("bannerF")
        self.bannerHL = QtWidgets.QHBoxLayout(self.bannerF)
        self.bannerHL.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize)
        self.bannerHL.setContentsMargins(8, 0, 8, 0)
        self.bannerHL.setSpacing(8)
        self.bannerHL.setObjectName("bannerHL")
        self.logoL = QtWidgets.QLabel(self.bannerF)
        self.logoL.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.logoL.sizePolicy().hasHeightForWidth())
        self.logoL.setSizePolicy(sizePolicy)
        self.logoL.setMinimumSize(QtCore.QSize(200, 40))
        self.logoL.setMaximumSize(QtCore.QSize(16777215, 40))
        self.logoL.setBaseSize(QtCore.QSize(200, 40))
        self.logoL.setText("")
        self.logoL.setPixmap(QtGui.QPixmap(":/img/img/applogo.png"))
        self.logoL.setScaledContents(False)
        self.logoL.setIndent(0)
        self.logoL.setObjectName("logoL")
        self.bannerHL.addWidget(self.logoL)
        spacerItem = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.bannerHL.addItem(spacerItem)
        self.upgradePB = QtWidgets.QPushButton(self.bannerF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.upgradePB.sizePolicy().hasHeightForWidth())
        self.upgradePB.setSizePolicy(sizePolicy)
        self.upgradePB.setMinimumSize(QtCore.QSize(85, 22))
        self.upgradePB.setMaximumSize(QtCore.QSize(85, 22))
        self.upgradePB.setBaseSize(QtCore.QSize(85, 22))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        self.upgradePB.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.upgradePB.setFont(font)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/img/img/buy1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.upgradePB.setIcon(icon1)
        self.upgradePB.setObjectName("upgradePB")
        self.bannerHL.addWidget(self.upgradePB)
        self.reportPB = QtWidgets.QPushButton(self.bannerF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.reportPB.sizePolicy().hasHeightForWidth())
        self.reportPB.setSizePolicy(sizePolicy)
        self.reportPB.setMinimumSize(QtCore.QSize(90, 22))
        self.reportPB.setMaximumSize(QtCore.QSize(90, 22))
        self.reportPB.setBaseSize(QtCore.QSize(90, 22))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        self.reportPB.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.reportPB.setFont(font)
        self.reportPB.setIcon(icon1)
        self.reportPB.setObjectName("reportPB")
        self.bannerHL.addWidget(self.reportPB)
        self.helpPB = QtWidgets.QPushButton(self.bannerF)
        self.helpPB.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.helpPB.sizePolicy().hasHeightForWidth())
        self.helpPB.setSizePolicy(sizePolicy)
        self.helpPB.setMinimumSize(QtCore.QSize(85, 22))
        self.helpPB.setMaximumSize(QtCore.QSize(85, 22))
        self.helpPB.setBaseSize(QtCore.QSize(85, 22))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        self.helpPB.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(8)
        self.helpPB.setFont(font)
        self.helpPB.setIcon(icon1)
        self.helpPB.setObjectName("helpPB")
        self.bannerHL.addWidget(self.helpPB)
        self.emailL = QtWidgets.QLabel(self.bannerF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.emailL.sizePolicy().hasHeightForWidth())
        self.emailL.setSizePolicy(sizePolicy)
        self.emailL.setMinimumSize(QtCore.QSize(100, 20))
        self.emailL.setMaximumSize(QtCore.QSize(300, 20))
        self.emailL.setBaseSize(QtCore.QSize(200, 20))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(31, 56, 78))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        self.emailL.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(10)
        self.emailL.setFont(font)
        self.emailL.setStyleSheet("image: url(:/img/img/support1.png);\n"
"image-position: left;\n"
"margin-left:2px;margin-right:2px;")
        self.emailL.setText("[email protected]")
        self.emailL.setTextFormat(QtCore.Qt.RichText)
        self.emailL.setScaledContents(True)
        self.emailL.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.emailL.setIndent(25)
        self.emailL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.emailL.setObjectName("emailL")
        self.bannerHL.addWidget(self.emailL)
        self.minPB = QtWidgets.QPushButton(self.bannerF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.minPB.sizePolicy().hasHeightForWidth())
        self.minPB.setSizePolicy(sizePolicy)
        self.minPB.setMinimumSize(QtCore.QSize(20, 20))
        self.minPB.setMaximumSize(QtCore.QSize(20, 20))
        self.minPB.setBaseSize(QtCore.QSize(20, 20))
        self.minPB.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.minPB.setStyleSheet("QPushButton \n"
"{\n"
"    border-image: url(:/img/img/min.png);\n"
"}\n"
"QPushButton:hover \n"
"{\n"
"    border-image: url(:/img/img/min_hover.png);\n"
"}")
        self.minPB.setFlat(True)
        self.minPB.setObjectName("minPB")
        self.bannerHL.addWidget(self.minPB)
        self.closePB = QtWidgets.QPushButton(self.bannerF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.closePB.sizePolicy().hasHeightForWidth())
        self.closePB.setSizePolicy(sizePolicy)
        self.closePB.setMinimumSize(QtCore.QSize(20, 20))
        self.closePB.setMaximumSize(QtCore.QSize(20, 20))
        self.closePB.setBaseSize(QtCore.QSize(20, 20))
        self.closePB.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.closePB.setStyleSheet("QPushButton \n"
"{\n"
"    border-image: url(:/img/img/close.png);\n"
"}\n"
"QPushButton:hover \n"
"{\n"
"    border-image: url(:/img/img/close_hover.png);\n"
"}")
        self.closePB.setFlat(True)
        self.closePB.setObjectName("closePB")
        self.bannerHL.addWidget(self.closePB)
        self.centralVL.addWidget(self.bannerF)
        self.tabWidget = TabWidget(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
        self.tabWidget.setSizePolicy(sizePolicy)
        self.tabWidget.setMinimumSize(QtCore.QSize(900, 490))
        self.tabWidget.setBaseSize(QtCore.QSize(900, 490))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(10)
        self.tabWidget.setFont(font)
        self.tabWidget.setAutoFillBackground(True)
        self.tabWidget.setStyleSheet("QTabBar::tab:selected, QTabBar::tab:hover {color: #000000;background: \"white\";}\n"
"QTabBar::tab:!selected {color: #ffffff;background-color: #2A3955;}")
        self.tabWidget.setTabPosition(QtWidgets.QTabWidget.West)
        self.tabWidget.setObjectName("tabWidget")
        self.scanT = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scanT.sizePolicy().hasHeightForWidth())
        self.scanT.setSizePolicy(sizePolicy)
        self.scanT.setMinimumSize(QtCore.QSize(730, 484))
        self.scanT.setBaseSize(QtCore.QSize(730, 484))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(10)
        self.scanT.setFont(font)
        self.scanT.setObjectName("scanT")
        self.scanVL = QtWidgets.QVBoxLayout(self.scanT)
        self.scanVL.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
        self.scanVL.setContentsMargins(0, 0, 0, 0)
        self.scanVL.setSpacing(0)
        self.scanVL.setObjectName("scanVL")
        self.scanF = QtWidgets.QFrame(self.scanT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scanF.sizePolicy().hasHeightForWidth())
        self.scanF.setSizePolicy(sizePolicy)
        self.scanF.setMinimumSize(QtCore.QSize(856, 240))
        self.scanF.setBaseSize(QtCore.QSize(856, 240))
        self.scanF.setObjectName("scanF")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.scanF)
        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.horizontalLayout.setContentsMargins(10, 0, 0, 0)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.alldriveCB = QtWidgets.QCheckBox(self.scanF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.alldriveCB.sizePolicy().hasHeightForWidth())
        self.alldriveCB.setSizePolicy(sizePolicy)
        self.alldriveCB.setMinimumSize(QtCore.QSize(140, 30))
        self.alldriveCB.setBaseSize(QtCore.QSize(140, 30))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.alldriveCB.setFont(font)
        self.alldriveCB.setStyleSheet("spacing:10px;")
        self.alldriveCB.setChecked(True)
        self.alldriveCB.setObjectName("alldriveCB")
        self.horizontalLayout.addWidget(self.alldriveCB)
        self.driveVL = QtWidgets.QFrame(self.scanF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.driveVL.sizePolicy().hasHeightForWidth())
        self.driveVL.setSizePolicy(sizePolicy)
        self.driveVL.setFrameShape(QtWidgets.QFrame.VLine)
        self.driveVL.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.driveVL.setObjectName("driveVL")
        self.horizontalLayout.addWidget(self.driveVL)
        self.drivesF = QtWidgets.QFrame(self.scanF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drivesF.sizePolicy().hasHeightForWidth())
        self.drivesF.setSizePolicy(sizePolicy)
        self.drivesF.setMinimumSize(QtCore.QSize(730, 240))
        self.drivesF.setBaseSize(QtCore.QSize(730, 240))
        self.drivesF.setObjectName("drivesF")
        self.drive1PB = QtWidgets.QProgressBar(self.drivesF)
        self.drive1PB.setGeometry(QtCore.QRect(50, 75, 108, 21))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive1PB.sizePolicy().hasHeightForWidth())
        self.drive1PB.setSizePolicy(sizePolicy)
        self.drive1PB.setMinimumSize(QtCore.QSize(100, 20))
        self.drive1PB.setBaseSize(QtCore.QSize(100, 20))
        self.drive1PB.setProperty("value", 60)
        self.drive1PB.setTextVisible(False)
        self.drive1PB.setObjectName("drive1PB")
        self.drive1CB = QtWidgets.QCheckBox(self.drivesF)
        self.drive1CB.setGeometry(QtCore.QRect(50, 50, 120, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive1CB.sizePolicy().hasHeightForWidth())
        self.drive1CB.setSizePolicy(sizePolicy)
        self.drive1CB.setMinimumSize(QtCore.QSize(120, 25))
        self.drive1CB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.drive1CB.setFont(font)
        self.drive1CB.setStyleSheet("spacing:10px;")
        self.drive1CB.setObjectName("drive1CB")
        self.drive2CB = QtWidgets.QCheckBox(self.drivesF)
        self.drive2CB.setGeometry(QtCore.QRect(280, 50, 120, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive2CB.sizePolicy().hasHeightForWidth())
        self.drive2CB.setSizePolicy(sizePolicy)
        self.drive2CB.setMinimumSize(QtCore.QSize(120, 25))
        self.drive2CB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.drive2CB.setFont(font)
        self.drive2CB.setStyleSheet("spacing:10px;")
        self.drive2CB.setObjectName("drive2CB")
        self.drive2PB = QtWidgets.QProgressBar(self.drivesF)
        self.drive2PB.setGeometry(QtCore.QRect(280, 75, 108, 21))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive2PB.sizePolicy().hasHeightForWidth())
        self.drive2PB.setSizePolicy(sizePolicy)
        self.drive2PB.setMinimumSize(QtCore.QSize(100, 20))
        self.drive2PB.setBaseSize(QtCore.QSize(100, 20))
        self.drive2PB.setProperty("value", 60)
        self.drive2PB.setTextVisible(False)
        self.drive2PB.setObjectName("drive2PB")
        self.drive4CB = QtWidgets.QCheckBox(self.drivesF)
        self.drive4CB.setGeometry(QtCore.QRect(280, 140, 120, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive4CB.sizePolicy().hasHeightForWidth())
        self.drive4CB.setSizePolicy(sizePolicy)
        self.drive4CB.setMinimumSize(QtCore.QSize(120, 25))
        self.drive4CB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.drive4CB.setFont(font)
        self.drive4CB.setStyleSheet("QCheckBox::indicator:unchecked {\n"
"    image: url(:/images/images/Checkmark_24px.png);\n"
"}\n"
"\n"
"QCheckBox::indicator:unchecked:hover {\n"
"       image: url(:/images/images/Help_20px.png);\n"
"}\n"
"\n"
"QCheckBox::indicator:unchecked:pressed {\n"
"    image: url(:/images/checkbox_unchecked_pressed.png);\n"
"}\n"
"QCheckBox::indicator:checked {\n"
"    image: url(:/images/checkbox_checked.png);\n"
"}\n"
"\n"
"QCheckBox::indicator:checked:hover {\n"
"    image: url(:/images/checkbox_checked_hover.png);\n"
"}\n"
"\n"
"QCheckBox::indicator:checked:pressed {\n"
"    image: url(:/images/checkbox_checked_pressed.png);}\n"
"QCheckBox{spacing:10px;}")
        self.drive4CB.setObjectName("drive4CB")
        self.drive4PB = QtWidgets.QProgressBar(self.drivesF)
        self.drive4PB.setGeometry(QtCore.QRect(280, 165, 108, 21))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive4PB.sizePolicy().hasHeightForWidth())
        self.drive4PB.setSizePolicy(sizePolicy)
        self.drive4PB.setMinimumSize(QtCore.QSize(100, 20))
        self.drive4PB.setBaseSize(QtCore.QSize(100, 20))
        self.drive4PB.setProperty("value", 60)
        self.drive4PB.setTextVisible(False)
        self.drive4PB.setObjectName("drive4PB")
        self.drive3CB = QtWidgets.QCheckBox(self.drivesF)
        self.drive3CB.setGeometry(QtCore.QRect(50, 140, 120, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive3CB.sizePolicy().hasHeightForWidth())
        self.drive3CB.setSizePolicy(sizePolicy)
        self.drive3CB.setMinimumSize(QtCore.QSize(120, 25))
        self.drive3CB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.drive3CB.setFont(font)
        self.drive3CB.setStyleSheet("spacing:10px;")
        self.drive3CB.setObjectName("drive3CB")
        self.drive3PB = QtWidgets.QProgressBar(self.drivesF)
        self.drive3PB.setGeometry(QtCore.QRect(50, 165, 108, 21))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drive3PB.sizePolicy().hasHeightForWidth())
        self.drive3PB.setSizePolicy(sizePolicy)
        self.drive3PB.setMinimumSize(QtCore.QSize(100, 20))
        self.drive3PB.setBaseSize(QtCore.QSize(100, 20))
        self.drive3PB.setProperty("value", 60)
        self.drive3PB.setTextVisible(False)
        self.drive3PB.setObjectName("drive3PB")
        self.horizontalLayout.addWidget(self.drivesF)
        self.scanVL.addWidget(self.scanF)
        self.scanHL = QtWidgets.QFrame(self.scanT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scanHL.sizePolicy().hasHeightForWidth())
        self.scanHL.setSizePolicy(sizePolicy)
        self.scanHL.setMinimumSize(QtCore.QSize(0, 3))
        self.scanHL.setBaseSize(QtCore.QSize(0, 3))
        self.scanHL.setFrameShape(QtWidgets.QFrame.HLine)
        self.scanHL.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.scanHL.setObjectName("scanHL")
        self.scanVL.addWidget(self.scanHL)
        self.scantypeF = QtWidgets.QFrame(self.scanT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scantypeF.sizePolicy().hasHeightForWidth())
        self.scantypeF.setSizePolicy(sizePolicy)
        self.scantypeF.setObjectName("scantypeF")
        self.scantypeGL = QtWidgets.QGridLayout(self.scantypeF)
        self.scantypeGL.setContentsMargins(30, 30, 30, 20)
        self.scantypeGL.setHorizontalSpacing(30)
        self.scantypeGL.setVerticalSpacing(10)
        self.scantypeGL.setObjectName("scantypeGL")
        self.imageCB = QtWidgets.QCheckBox(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.imageCB.sizePolicy().hasHeightForWidth())
        self.imageCB.setSizePolicy(sizePolicy)
        self.imageCB.setMinimumSize(QtCore.QSize(120, 25))
        self.imageCB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.imageCB.setFont(font)
        self.imageCB.setStyleSheet("spacing:10px;")
        self.imageCB.setObjectName("imageCB")
        self.scantypeGL.addWidget(self.imageCB, 4, 0, 1, 1)
        self.dupCB = QtWidgets.QCheckBox(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dupCB.sizePolicy().hasHeightForWidth())
        self.dupCB.setSizePolicy(sizePolicy)
        self.dupCB.setMinimumSize(QtCore.QSize(120, 25))
        self.dupCB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.dupCB.setFont(font)
        self.dupCB.setStyleSheet("spacing:10px;")
        self.dupCB.setObjectName("dupCB")
        self.scantypeGL.addWidget(self.dupCB, 5, 0, 1, 1)
        self.delCB = QtWidgets.QCheckBox(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.delCB.sizePolicy().hasHeightForWidth())
        self.delCB.setSizePolicy(sizePolicy)
        self.delCB.setMinimumSize(QtCore.QSize(120, 25))
        self.delCB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.delCB.setFont(font)
        self.delCB.setStyleSheet("spacing:10px;")
        self.delCB.setObjectName("delCB")
        self.scantypeGL.addWidget(self.delCB, 0, 0, 1, 1)
        self.videoCB = QtWidgets.QCheckBox(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.videoCB.sizePolicy().hasHeightForWidth())
        self.videoCB.setSizePolicy(sizePolicy)
        self.videoCB.setMinimumSize(QtCore.QSize(120, 25))
        self.videoCB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.videoCB.setFont(font)
        self.videoCB.setStyleSheet("spacing:10px;")
        self.videoCB.setObjectName("videoCB")
        self.scantypeGL.addWidget(self.videoCB, 6, 0, 1, 1)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.scantypeGL.addItem(spacerItem1, 6, 1, 1, 1)
        self.quickCB = QtWidgets.QCheckBox(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.quickCB.sizePolicy().hasHeightForWidth())
        self.quickCB.setSizePolicy(sizePolicy)
        self.quickCB.setMinimumSize(QtCore.QSize(90, 25))
        self.quickCB.setBaseSize(QtCore.QSize(90, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.quickCB.setFont(font)
        self.quickCB.setStyleSheet("spacing:8px;")
        self.quickCB.setChecked(True)
        self.quickCB.setObjectName("quickCB")
        self.scantypeBG = QtWidgets.QButtonGroup(MainWindow)
        self.scantypeBG.setObjectName("scantypeBG")
        self.scantypeBG.addButton(self.quickCB)
        self.scantypeGL.addWidget(self.quickCB, 6, 2, 1, 1)
        self.advCB = QtWidgets.QCheckBox(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.advCB.sizePolicy().hasHeightForWidth())
        self.advCB.setSizePolicy(sizePolicy)
        self.advCB.setMinimumSize(QtCore.QSize(110, 25))
        self.advCB.setBaseSize(QtCore.QSize(110, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.advCB.setFont(font)
        self.advCB.setStyleSheet("spacing:8px;")
        self.advCB.setObjectName("advCB")
        self.scantypeBG.addButton(self.advCB)
        self.scantypeGL.addWidget(self.advCB, 6, 3, 1, 1)
        self.scanPB = QtWidgets.QPushButton(self.scantypeF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scanPB.sizePolicy().hasHeightForWidth())
        self.scanPB.setSizePolicy(sizePolicy)
        self.scanPB.setMinimumSize(QtCore.QSize(100, 40))
        self.scanPB.setBaseSize(QtCore.QSize(100, 40))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.scanPB.setFont(font)
        self.scanPB.setObjectName("scanPB")
        self.scantypeGL.addWidget(self.scanPB, 6, 4, 1, 1)
        self.scanVL.addWidget(self.scantypeF)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/img/img/setting.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.tabWidget.addTab(self.scanT, icon2, "")
        self.filesT = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.filesT.sizePolicy().hasHeightForWidth())
        self.filesT.setSizePolicy(sizePolicy)
        self.filesT.setMinimumSize(QtCore.QSize(730, 484))
        self.filesT.setBaseSize(QtCore.QSize(730, 484))
        self.filesT.setObjectName("filesT")
        self.filesHL = QtWidgets.QHBoxLayout(self.filesT)
        self.filesHL.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
        self.filesHL.setContentsMargins(0, 0, 0, 0)
        self.filesHL.setSpacing(0)
        self.filesHL.setObjectName("filesHL")
        self.listF = QtWidgets.QFrame(self.filesT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listF.sizePolicy().hasHeightForWidth())
        self.listF.setSizePolicy(sizePolicy)
        self.listF.setMinimumSize(QtCore.QSize(240, 490))
        self.listF.setBaseSize(QtCore.QSize(240, 490))
        self.listF.setStyleSheet("margin:1px;")
        self.listF.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.listF.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listF.setObjectName("listF")
        self.listVL = QtWidgets.QVBoxLayout(self.listF)
        self.listVL.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.listVL.setContentsMargins(0, 0, 0, 0)
        self.listVL.setSpacing(0)
        self.listVL.setObjectName("listVL")
        self.listTV = QtWidgets.QTreeView(self.listF)
        self.listTV.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(11)
        sizePolicy.setHeightForWidth(self.listTV.sizePolicy().hasHeightForWidth())
        self.listTV.setSizePolicy(sizePolicy)
        self.listTV.setMinimumSize(QtCore.QSize(240, 450))
        self.listTV.setBaseSize(QtCore.QSize(240, 450))
        self.listTV.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.listTV.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.listTV.setObjectName("listTV")
        self.listVL.addWidget(self.listTV)
        self.listL = QtWidgets.QFrame(self.listF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listL.sizePolicy().hasHeightForWidth())
        self.listL.setSizePolicy(sizePolicy)
        self.listL.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listL.setObjectName("listL")
        self.listVL.addWidget(self.listL)
        self.checkF = QtWidgets.QFrame(self.listF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.checkF.sizePolicy().hasHeightForWidth())
        self.checkF.setSizePolicy(sizePolicy)
        self.checkF.setMinimumSize(QtCore.QSize(240, 40))
        self.checkF.setMaximumSize(QtCore.QSize(16777215, 40))
        self.checkF.setBaseSize(QtCore.QSize(240, 40))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.checkF.setFont(font)
        self.checkF.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.checkF.setObjectName("checkF")
        self.checkHL = QtWidgets.QHBoxLayout(self.checkF)
        self.checkHL.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.checkHL.setContentsMargins(30, 0, 0, 0)
        self.checkHL.setSpacing(20)
        self.checkHL.setObjectName("checkHL")
        self.allCB = QtWidgets.QCheckBox(self.checkF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.allCB.sizePolicy().hasHeightForWidth())
        self.allCB.setSizePolicy(sizePolicy)
        self.allCB.setMinimumSize(QtCore.QSize(60, 25))
        self.allCB.setMaximumSize(QtCore.QSize(60, 25))
        self.allCB.setBaseSize(QtCore.QSize(60, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.allCB.setFont(font)
        self.allCB.setChecked(True)
        self.allCB.setObjectName("allCB")
        self.fileslistBG = QtWidgets.QButtonGroup(MainWindow)
        self.fileslistBG.setObjectName("fileslistBG")
        self.fileslistBG.addButton(self.allCB)
        self.checkHL.addWidget(self.allCB)
        self.deleteCB = QtWidgets.QCheckBox(self.checkF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.deleteCB.sizePolicy().hasHeightForWidth())
        self.deleteCB.setSizePolicy(sizePolicy)
        self.deleteCB.setMinimumSize(QtCore.QSize(120, 25))
        self.deleteCB.setMaximumSize(QtCore.QSize(120, 25))
        self.deleteCB.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.deleteCB.setFont(font)
        self.deleteCB.setObjectName("deleteCB")
        self.fileslistBG.addButton(self.deleteCB)
        self.checkHL.addWidget(self.deleteCB)
        self.listVL.addWidget(self.checkF)
        self.filesHL.addWidget(self.listF)
        self.detailF = QtWidgets.QFrame(self.filesT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailF.sizePolicy().hasHeightForWidth())
        self.detailF.setSizePolicy(sizePolicy)
        self.detailF.setMinimumSize(QtCore.QSize(488, 490))
        self.detailF.setBaseSize(QtCore.QSize(488, 490))
        self.detailF.setStyleSheet("margin:1px;")
        self.detailF.setObjectName("detailF")
        self.detailVL = QtWidgets.QVBoxLayout(self.detailF)
        self.detailVL.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.detailVL.setContentsMargins(0, 0, 0, 0)
        self.detailVL.setSpacing(0)
        self.detailVL.setObjectName("detailVL")
        self.detailTW = QtWidgets.QTreeWidget(self.detailF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailTW.sizePolicy().hasHeightForWidth())
        self.detailTW.setSizePolicy(sizePolicy)
        self.detailTW.setMinimumSize(QtCore.QSize(480, 270))
        self.detailTW.setBaseSize(QtCore.QSize(480, 270))
        self.detailTW.setIndentation(10)
        self.detailTW.setUniformRowHeights(False)
        self.detailTW.setWordWrap(False)
        self.detailTW.setObjectName("detailTW")
        item_0 = QtWidgets.QTreeWidgetItem(self.detailTW)
        self.detailTW.header().setCascadingSectionResizes(False)
        self.detailTW.header().setDefaultSectionSize(100)
        self.detailTW.header().setHighlightSections(True)
        self.detailTW.header().setMinimumSectionSize(40)
        self.detailVL.addWidget(self.detailTW)
        self.previewGV = QtWidgets.QGraphicsView(self.detailF)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.previewGV.sizePolicy().hasHeightForWidth())
        self.previewGV.setSizePolicy(sizePolicy)
        self.previewGV.setMinimumSize(QtCore.QSize(480, 214))
        self.previewGV.setBaseSize(QtCore.QSize(480, 214))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.previewGV.setFont(font)
        self.previewGV.setObjectName("previewGV")
        self.detailVL.addWidget(self.previewGV)
        self.filesHL.addWidget(self.detailF)
        self.tabWidget.addTab(self.filesT, icon2, "")
        self.imageT = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.imageT.sizePolicy().hasHeightForWidth())
        self.imageT.setSizePolicy(sizePolicy)
        self.imageT.setMinimumSize(QtCore.QSize(730, 484))
        self.imageT.setBaseSize(QtCore.QSize(730, 484))
        self.imageT.setObjectName("imageT")
        self.imageHL = QtWidgets.QHBoxLayout(self.imageT)
        self.imageHL.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
        self.imageHL.setContentsMargins(0, 0, 0, 0)
        self.imageHL.setSpacing(0)
        self.imageHL.setObjectName("imageHL")
        self.listF_2 = QtWidgets.QFrame(self.imageT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listF_2.sizePolicy().hasHeightForWidth())
        self.listF_2.setSizePolicy(sizePolicy)
        self.listF_2.setMinimumSize(QtCore.QSize(240, 490))
        self.listF_2.setBaseSize(QtCore.QSize(240, 490))
        self.listF_2.setStyleSheet("margin:1px;")
        self.listF_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.listF_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listF_2.setObjectName("listF_2")
        self.listVL_2 = QtWidgets.QVBoxLayout(self.listF_2)
        self.listVL_2.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.listVL_2.setContentsMargins(0, 0, 0, 0)
        self.listVL_2.setSpacing(0)
        self.listVL_2.setObjectName("listVL_2")
        self.listTV_2 = QtWidgets.QTreeView(self.listF_2)
        self.listTV_2.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(11)
        sizePolicy.setHeightForWidth(self.listTV_2.sizePolicy().hasHeightForWidth())
        self.listTV_2.setSizePolicy(sizePolicy)
        self.listTV_2.setMinimumSize(QtCore.QSize(240, 450))
        self.listTV_2.setBaseSize(QtCore.QSize(240, 450))
        self.listTV_2.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.listTV_2.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.listTV_2.setObjectName("listTV_2")
        self.listVL_2.addWidget(self.listTV_2)
        self.listL_2 = QtWidgets.QFrame(self.listF_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listL_2.sizePolicy().hasHeightForWidth())
        self.listL_2.setSizePolicy(sizePolicy)
        self.listL_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listL_2.setObjectName("listL_2")
        self.listVL_2.addWidget(self.listL_2)
        self.checkF_2 = QtWidgets.QFrame(self.listF_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.checkF_2.sizePolicy().hasHeightForWidth())
        self.checkF_2.setSizePolicy(sizePolicy)
        self.checkF_2.setMinimumSize(QtCore.QSize(240, 40))
        self.checkF_2.setMaximumSize(QtCore.QSize(16777215, 40))
        self.checkF_2.setBaseSize(QtCore.QSize(240, 40))
        self.checkF_2.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.checkF_2.setObjectName("checkF_2")
        self.checkHL_2 = QtWidgets.QHBoxLayout(self.checkF_2)
        self.checkHL_2.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.checkHL_2.setContentsMargins(30, 0, 0, 0)
        self.checkHL_2.setSpacing(20)
        self.checkHL_2.setObjectName("checkHL_2")
        self.allCB_2 = QtWidgets.QCheckBox(self.checkF_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.allCB_2.sizePolicy().hasHeightForWidth())
        self.allCB_2.setSizePolicy(sizePolicy)
        self.allCB_2.setMinimumSize(QtCore.QSize(60, 25))
        self.allCB_2.setMaximumSize(QtCore.QSize(60, 25))
        self.allCB_2.setBaseSize(QtCore.QSize(60, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.allCB_2.setFont(font)
        self.allCB_2.setChecked(True)
        self.allCB_2.setObjectName("allCB_2")
        self.checkHL_2.addWidget(self.allCB_2)
        self.deleteCB_2 = QtWidgets.QCheckBox(self.checkF_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.deleteCB_2.sizePolicy().hasHeightForWidth())
        self.deleteCB_2.setSizePolicy(sizePolicy)
        self.deleteCB_2.setMinimumSize(QtCore.QSize(120, 25))
        self.deleteCB_2.setMaximumSize(QtCore.QSize(120, 25))
        self.deleteCB_2.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.deleteCB_2.setFont(font)
        self.deleteCB_2.setObjectName("deleteCB_2")
        self.checkHL_2.addWidget(self.deleteCB_2)
        self.listVL_2.addWidget(self.checkF_2)
        self.imageHL.addWidget(self.listF_2)
        self.detailF_2 = QtWidgets.QFrame(self.imageT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailF_2.sizePolicy().hasHeightForWidth())
        self.detailF_2.setSizePolicy(sizePolicy)
        self.detailF_2.setMinimumSize(QtCore.QSize(488, 490))
        self.detailF_2.setBaseSize(QtCore.QSize(488, 490))
        self.detailF_2.setStyleSheet("margin:1px;")
        self.detailF_2.setObjectName("detailF_2")
        self.detailVL_2 = QtWidgets.QVBoxLayout(self.detailF_2)
        self.detailVL_2.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.detailVL_2.setContentsMargins(0, 0, 0, 0)
        self.detailVL_2.setSpacing(0)
        self.detailVL_2.setObjectName("detailVL_2")
        self.detailTW_2 = QtWidgets.QTreeWidget(self.detailF_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailTW_2.sizePolicy().hasHeightForWidth())
        self.detailTW_2.setSizePolicy(sizePolicy)
        self.detailTW_2.setMinimumSize(QtCore.QSize(480, 270))
        self.detailTW_2.setBaseSize(QtCore.QSize(480, 270))
        self.detailTW_2.setIndentation(10)
        self.detailTW_2.setUniformRowHeights(False)
        self.detailTW_2.setWordWrap(False)
        self.detailTW_2.setObjectName("detailTW_2")
        item_0 = QtWidgets.QTreeWidgetItem(self.detailTW_2)
        self.detailTW_2.header().setCascadingSectionResizes(False)
        self.detailTW_2.header().setDefaultSectionSize(100)
        self.detailTW_2.header().setHighlightSections(True)
        self.detailTW_2.header().setMinimumSectionSize(40)
        self.detailVL_2.addWidget(self.detailTW_2)
        self.previewGV_2 = QtWidgets.QGraphicsView(self.detailF_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.previewGV_2.sizePolicy().hasHeightForWidth())
        self.previewGV_2.setSizePolicy(sizePolicy)
        self.previewGV_2.setMinimumSize(QtCore.QSize(480, 214))
        self.previewGV_2.setBaseSize(QtCore.QSize(480, 214))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.previewGV_2.setFont(font)
        self.previewGV_2.setObjectName("previewGV_2")
        self.detailVL_2.addWidget(self.previewGV_2)
        self.imageHL.addWidget(self.detailF_2)
        self.tabWidget.addTab(self.imageT, icon2, "")
        self.videoT = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.videoT.sizePolicy().hasHeightForWidth())
        self.videoT.setSizePolicy(sizePolicy)
        self.videoT.setMinimumSize(QtCore.QSize(730, 484))
        self.videoT.setBaseSize(QtCore.QSize(730, 484))
        self.videoT.setObjectName("videoT")
        self.videoHL = QtWidgets.QHBoxLayout(self.videoT)
        self.videoHL.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
        self.videoHL.setContentsMargins(0, 0, 0, 0)
        self.videoHL.setSpacing(0)
        self.videoHL.setObjectName("videoHL")
        self.listF_3 = QtWidgets.QFrame(self.videoT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listF_3.sizePolicy().hasHeightForWidth())
        self.listF_3.setSizePolicy(sizePolicy)
        self.listF_3.setMinimumSize(QtCore.QSize(240, 490))
        self.listF_3.setBaseSize(QtCore.QSize(240, 490))
        self.listF_3.setStyleSheet("margin:1px;")
        self.listF_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.listF_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listF_3.setObjectName("listF_3")
        self.listVL_3 = QtWidgets.QVBoxLayout(self.listF_3)
        self.listVL_3.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.listVL_3.setContentsMargins(0, 0, 0, 0)
        self.listVL_3.setSpacing(0)
        self.listVL_3.setObjectName("listVL_3")
        self.listTV_3 = QtWidgets.QTreeView(self.listF_3)
        self.listTV_3.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(11)
        sizePolicy.setHeightForWidth(self.listTV_3.sizePolicy().hasHeightForWidth())
        self.listTV_3.setSizePolicy(sizePolicy)
        self.listTV_3.setMinimumSize(QtCore.QSize(240, 450))
        self.listTV_3.setBaseSize(QtCore.QSize(240, 450))
        self.listTV_3.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.listTV_3.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.listTV_3.setObjectName("listTV_3")
        self.listVL_3.addWidget(self.listTV_3)
        self.listL_3 = QtWidgets.QFrame(self.listF_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listL_3.sizePolicy().hasHeightForWidth())
        self.listL_3.setSizePolicy(sizePolicy)
        self.listL_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listL_3.setObjectName("listL_3")
        self.listVL_3.addWidget(self.listL_3)
        self.checkF_3 = QtWidgets.QFrame(self.listF_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.checkF_3.sizePolicy().hasHeightForWidth())
        self.checkF_3.setSizePolicy(sizePolicy)
        self.checkF_3.setMinimumSize(QtCore.QSize(240, 40))
        self.checkF_3.setMaximumSize(QtCore.QSize(16777215, 40))
        self.checkF_3.setBaseSize(QtCore.QSize(240, 40))
        self.checkF_3.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.checkF_3.setObjectName("checkF_3")
        self.checkHL_3 = QtWidgets.QHBoxLayout(self.checkF_3)
        self.checkHL_3.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.checkHL_3.setContentsMargins(30, 0, 0, 0)
        self.checkHL_3.setSpacing(20)
        self.checkHL_3.setObjectName("checkHL_3")
        self.allCB_3 = QtWidgets.QCheckBox(self.checkF_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.allCB_3.sizePolicy().hasHeightForWidth())
        self.allCB_3.setSizePolicy(sizePolicy)
        self.allCB_3.setMinimumSize(QtCore.QSize(60, 25))
        self.allCB_3.setMaximumSize(QtCore.QSize(60, 25))
        self.allCB_3.setBaseSize(QtCore.QSize(60, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.allCB_3.setFont(font)
        self.allCB_3.setChecked(True)
        self.allCB_3.setObjectName("allCB_3")
        self.checkHL_3.addWidget(self.allCB_3)
        self.deleteCB_3 = QtWidgets.QCheckBox(self.checkF_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.deleteCB_3.sizePolicy().hasHeightForWidth())
        self.deleteCB_3.setSizePolicy(sizePolicy)
        self.deleteCB_3.setMinimumSize(QtCore.QSize(120, 25))
        self.deleteCB_3.setMaximumSize(QtCore.QSize(120, 25))
        self.deleteCB_3.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.deleteCB_3.setFont(font)
        self.deleteCB_3.setObjectName("deleteCB_3")
        self.checkHL_3.addWidget(self.deleteCB_3)
        self.listVL_3.addWidget(self.checkF_3)
        self.videoHL.addWidget(self.listF_3)
        self.detailF_3 = QtWidgets.QFrame(self.videoT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailF_3.sizePolicy().hasHeightForWidth())
        self.detailF_3.setSizePolicy(sizePolicy)
        self.detailF_3.setMinimumSize(QtCore.QSize(488, 490))
        self.detailF_3.setBaseSize(QtCore.QSize(488, 490))
        self.detailF_3.setStyleSheet("margin:1px;")
        self.detailF_3.setObjectName("detailF_3")
        self.detailVL_3 = QtWidgets.QVBoxLayout(self.detailF_3)
        self.detailVL_3.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.detailVL_3.setContentsMargins(0, 0, 0, 0)
        self.detailVL_3.setSpacing(0)
        self.detailVL_3.setObjectName("detailVL_3")
        self.detailTW_3 = QtWidgets.QTreeWidget(self.detailF_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailTW_3.sizePolicy().hasHeightForWidth())
        self.detailTW_3.setSizePolicy(sizePolicy)
        self.detailTW_3.setMinimumSize(QtCore.QSize(480, 270))
        self.detailTW_3.setBaseSize(QtCore.QSize(480, 270))
        self.detailTW_3.setIndentation(10)
        self.detailTW_3.setUniformRowHeights(False)
        self.detailTW_3.setWordWrap(False)
        self.detailTW_3.setObjectName("detailTW_3")
        item_0 = QtWidgets.QTreeWidgetItem(self.detailTW_3)
        self.detailTW_3.header().setCascadingSectionResizes(False)
        self.detailTW_3.header().setDefaultSectionSize(100)
        self.detailTW_3.header().setHighlightSections(True)
        self.detailTW_3.header().setMinimumSectionSize(40)
        self.detailVL_3.addWidget(self.detailTW_3)
        self.previewGV_3 = QtWidgets.QGraphicsView(self.detailF_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.previewGV_3.sizePolicy().hasHeightForWidth())
        self.previewGV_3.setSizePolicy(sizePolicy)
        self.previewGV_3.setMinimumSize(QtCore.QSize(480, 214))
        self.previewGV_3.setBaseSize(QtCore.QSize(480, 214))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.previewGV_3.setFont(font)
        self.previewGV_3.setObjectName("previewGV_3")
        self.detailVL_3.addWidget(self.previewGV_3)
        self.videoHL.addWidget(self.detailF_3)
        self.tabWidget.addTab(self.videoT, icon2, "")
        self.docT = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.docT.sizePolicy().hasHeightForWidth())
        self.docT.setSizePolicy(sizePolicy)
        self.docT.setMinimumSize(QtCore.QSize(730, 484))
        self.docT.setBaseSize(QtCore.QSize(730, 484))
        self.docT.setObjectName("docT")
        self.docHL = QtWidgets.QHBoxLayout(self.docT)
        self.docHL.setSizeConstraint(QtWidgets.QLayout.SetNoConstraint)
        self.docHL.setContentsMargins(0, 0, 0, 0)
        self.docHL.setSpacing(0)
        self.docHL.setObjectName("docHL")
        self.listF_4 = QtWidgets.QFrame(self.docT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listF_4.sizePolicy().hasHeightForWidth())
        self.listF_4.setSizePolicy(sizePolicy)
        self.listF_4.setMinimumSize(QtCore.QSize(240, 490))
        self.listF_4.setBaseSize(QtCore.QSize(240, 490))
        self.listF_4.setStyleSheet("margin:1px;")
        self.listF_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.listF_4.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listF_4.setObjectName("listF_4")
        self.listVL_4 = QtWidgets.QVBoxLayout(self.listF_4)
        self.listVL_4.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.listVL_4.setContentsMargins(0, 0, 0, 0)
        self.listVL_4.setSpacing(0)
        self.listVL_4.setObjectName("listVL_4")
        self.listTV_4 = QtWidgets.QTreeView(self.listF_4)
        self.listTV_4.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(11)
        sizePolicy.setHeightForWidth(self.listTV_4.sizePolicy().hasHeightForWidth())
        self.listTV_4.setSizePolicy(sizePolicy)
        self.listTV_4.setMinimumSize(QtCore.QSize(240, 450))
        self.listTV_4.setBaseSize(QtCore.QSize(240, 450))
        self.listTV_4.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.listTV_4.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.listTV_4.setObjectName("listTV_4")
        self.listVL_4.addWidget(self.listTV_4)
        self.listL_4 = QtWidgets.QFrame(self.listF_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listL_4.sizePolicy().hasHeightForWidth())
        self.listL_4.setSizePolicy(sizePolicy)
        self.listL_4.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.listL_4.setObjectName("listL_4")
        self.listVL_4.addWidget(self.listL_4)
        self.checkF_4 = QtWidgets.QFrame(self.listF_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.checkF_4.sizePolicy().hasHeightForWidth())
        self.checkF_4.setSizePolicy(sizePolicy)
        self.checkF_4.setMinimumSize(QtCore.QSize(240, 40))
        self.checkF_4.setMaximumSize(QtCore.QSize(16777215, 40))
        self.checkF_4.setBaseSize(QtCore.QSize(240, 40))
        self.checkF_4.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.checkF_4.setObjectName("checkF_4")
        self.checkHL_4 = QtWidgets.QHBoxLayout(self.checkF_4)
        self.checkHL_4.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.checkHL_4.setContentsMargins(30, 0, 0, 0)
        self.checkHL_4.setSpacing(20)
        self.checkHL_4.setObjectName("checkHL_4")
        self.allCB_4 = QtWidgets.QCheckBox(self.checkF_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.allCB_4.sizePolicy().hasHeightForWidth())
        self.allCB_4.setSizePolicy(sizePolicy)
        self.allCB_4.setMinimumSize(QtCore.QSize(60, 25))
        self.allCB_4.setMaximumSize(QtCore.QSize(60, 25))
        self.allCB_4.setBaseSize(QtCore.QSize(60, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.allCB_4.setFont(font)
        self.allCB_4.setChecked(True)
        self.allCB_4.setObjectName("allCB_4")
        self.checkHL_4.addWidget(self.allCB_4)
        self.deleteCB_4 = QtWidgets.QCheckBox(self.checkF_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.deleteCB_4.sizePolicy().hasHeightForWidth())
        self.deleteCB_4.setSizePolicy(sizePolicy)
        self.deleteCB_4.setMinimumSize(QtCore.QSize(120, 25))
        self.deleteCB_4.setMaximumSize(QtCore.QSize(120, 25))
        self.deleteCB_4.setBaseSize(QtCore.QSize(120, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.deleteCB_4.setFont(font)
        self.deleteCB_4.setObjectName("deleteCB_4")
        self.checkHL_4.addWidget(self.deleteCB_4)
        self.listVL_4.addWidget(self.checkF_4)
        self.docHL.addWidget(self.listF_4)
        self.detailF_4 = QtWidgets.QFrame(self.docT)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailF_4.sizePolicy().hasHeightForWidth())
        self.detailF_4.setSizePolicy(sizePolicy)
        self.detailF_4.setMinimumSize(QtCore.QSize(488, 490))
        self.detailF_4.setBaseSize(QtCore.QSize(488, 490))
        self.detailF_4.setStyleSheet("margin:1px;")
        self.detailF_4.setObjectName("detailF_4")
        self.detailVL_4 = QtWidgets.QVBoxLayout(self.detailF_4)
        self.detailVL_4.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize)
        self.detailVL_4.setContentsMargins(0, 0, 0, 0)
        self.detailVL_4.setSpacing(0)
        self.detailVL_4.setObjectName("detailVL_4")
        self.detailTW_4 = QtWidgets.QTreeWidget(self.detailF_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.detailTW_4.sizePolicy().hasHeightForWidth())
        self.detailTW_4.setSizePolicy(sizePolicy)
        self.detailTW_4.setMinimumSize(QtCore.QSize(480, 270))
        self.detailTW_4.setBaseSize(QtCore.QSize(480, 270))
        self.detailTW_4.setIndentation(10)
        self.detailTW_4.setUniformRowHeights(False)
        self.detailTW_4.setWordWrap(False)
        self.detailTW_4.setObjectName("detailTW_4")
        item_0 = QtWidgets.QTreeWidgetItem(self.detailTW_4)
        self.detailTW_4.header().setCascadingSectionResizes(False)
        self.detailTW_4.header().setDefaultSectionSize(100)
        self.detailTW_4.header().setHighlightSections(True)
        self.detailTW_4.header().setMinimumSectionSize(40)
        self.detailVL_4.addWidget(self.detailTW_4)
        self.previewGV_4 = QtWidgets.QGraphicsView(self.detailF_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.previewGV_4.sizePolicy().hasHeightForWidth())
        self.previewGV_4.setSizePolicy(sizePolicy)
        self.previewGV_4.setMinimumSize(QtCore.QSize(480, 214))
        self.previewGV_4.setBaseSize(QtCore.QSize(480, 214))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.previewGV_4.setFont(font)
        self.previewGV_4.setObjectName("previewGV_4")
        self.detailVL_4.addWidget(self.previewGV_4)
        self.docHL.addWidget(self.detailF_4)
        self.tabWidget.addTab(self.docT, icon2, "")
        self.settingsT = QtWidgets.QWidget()
        self.settingsT.setObjectName("settingsT")
        self.previewCB = QtWidgets.QCheckBox(self.settingsT)
        self.previewCB.setGeometry(QtCore.QRect(30, 360, 150, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.previewCB.sizePolicy().hasHeightForWidth())
        self.previewCB.setSizePolicy(sizePolicy)
        self.previewCB.setMinimumSize(QtCore.QSize(150, 25))
        self.previewCB.setMaximumSize(QtCore.QSize(150, 25))
        self.previewCB.setBaseSize(QtCore.QSize(150, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.previewCB.setFont(font)
        self.previewCB.setStyleSheet("spacing:10px;")
        self.previewCB.setObjectName("previewCB")
        self.duprenameCB = QtWidgets.QCheckBox(self.settingsT)
        self.duprenameCB.setGeometry(QtCore.QRect(320, 40, 100, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.duprenameCB.sizePolicy().hasHeightForWidth())
        self.duprenameCB.setSizePolicy(sizePolicy)
        self.duprenameCB.setMinimumSize(QtCore.QSize(100, 25))
        self.duprenameCB.setMaximumSize(QtCore.QSize(100, 25))
        self.duprenameCB.setBaseSize(QtCore.QSize(100, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.duprenameCB.setFont(font)
        self.duprenameCB.setStyleSheet("spacing:10px;")
        self.duprenameCB.setObjectName("duprenameCB")
        self.dupoverCB = QtWidgets.QCheckBox(self.settingsT)
        self.dupoverCB.setGeometry(QtCore.QRect(320, 70, 100, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dupoverCB.sizePolicy().hasHeightForWidth())
        self.dupoverCB.setSizePolicy(sizePolicy)
        self.dupoverCB.setMinimumSize(QtCore.QSize(100, 25))
        self.dupoverCB.setMaximumSize(QtCore.QSize(100, 25))
        self.dupoverCB.setBaseSize(QtCore.QSize(100, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.dupoverCB.setFont(font)
        self.dupoverCB.setStyleSheet("spacing:10px;")
        self.dupoverCB.setObjectName("dupoverCB")
        self.dupexcludeCB = QtWidgets.QCheckBox(self.settingsT)
        self.dupexcludeCB.setGeometry(QtCore.QRect(320, 100, 100, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dupexcludeCB.sizePolicy().hasHeightForWidth())
        self.dupexcludeCB.setSizePolicy(sizePolicy)
        self.dupexcludeCB.setMinimumSize(QtCore.QSize(100, 25))
        self.dupexcludeCB.setMaximumSize(QtCore.QSize(100, 25))
        self.dupexcludeCB.setBaseSize(QtCore.QSize(100, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.dupexcludeCB.setFont(font)
        self.dupexcludeCB.setStyleSheet("spacing:10px;")
        self.dupexcludeCB.setObjectName("dupexcludeCB")
        self.delincludeCB = QtWidgets.QCheckBox(self.settingsT)
        self.delincludeCB.setGeometry(QtCore.QRect(320, 150, 100, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.delincludeCB.sizePolicy().hasHeightForWidth())
        self.delincludeCB.setSizePolicy(sizePolicy)
        self.delincludeCB.setMinimumSize(QtCore.QSize(100, 25))
        self.delincludeCB.setMaximumSize(QtCore.QSize(100, 25))
        self.delincludeCB.setBaseSize(QtCore.QSize(100, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.delincludeCB.setFont(font)
        self.delincludeCB.setStyleSheet("spacing:10px;")
        self.delincludeCB.setObjectName("delincludeCB")
        self.delexcludeCB = QtWidgets.QCheckBox(self.settingsT)
        self.delexcludeCB.setGeometry(QtCore.QRect(320, 180, 100, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.delexcludeCB.sizePolicy().hasHeightForWidth())
        self.delexcludeCB.setSizePolicy(sizePolicy)
        self.delexcludeCB.setMinimumSize(QtCore.QSize(100, 25))
        self.delexcludeCB.setMaximumSize(QtCore.QSize(100, 25))
        self.delexcludeCB.setBaseSize(QtCore.QSize(100, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.delexcludeCB.setFont(font)
        self.delexcludeCB.setStyleSheet("spacing:10px;")
        self.delexcludeCB.setObjectName("delexcludeCB")
        self.updateCB = QtWidgets.QCheckBox(self.settingsT)
        self.updateCB.setGeometry(QtCore.QRect(30, 410, 260, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.updateCB.sizePolicy().hasHeightForWidth())
        self.updateCB.setSizePolicy(sizePolicy)
        self.updateCB.setMinimumSize(QtCore.QSize(260, 25))
        self.updateCB.setMaximumSize(QtCore.QSize(260, 25))
        self.updateCB.setBaseSize(QtCore.QSize(260, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.updateCB.setFont(font)
        self.updateCB.setStyleSheet("spacing:10px;")
        self.updateCB.setObjectName("updateCB")
        self.badsectorCB = QtWidgets.QComboBox(self.settingsT)
        self.badsectorCB.setGeometry(QtCore.QRect(320, 240, 60, 20))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.badsectorCB.sizePolicy().hasHeightForWidth())
        self.badsectorCB.setSizePolicy(sizePolicy)
        self.badsectorCB.setMinimumSize(QtCore.QSize(60, 20))
        self.badsectorCB.setMaximumSize(QtCore.QSize(60, 20))
        self.badsectorCB.setBaseSize(QtCore.QSize(60, 20))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.badsectorCB.setFont(font)
        self.badsectorCB.setMaxCount(10)
        self.badsectorCB.setObjectName("badsectorCB")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.badsectorCB.addItem("")
        self.comboBox_2 = QtWidgets.QComboBox(self.settingsT)
        self.comboBox_2.setGeometry(QtCore.QRect(320, 300, 60, 20))
        self.comboBox_2.setMinimumSize(QtCore.QSize(60, 20))
        self.comboBox_2.setMaximumSize(QtCore.QSize(60, 20))
        self.comboBox_2.setBaseSize(QtCore.QSize(60, 20))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.comboBox_2.setFont(font)
        self.comboBox_2.setMaxCount(100)
        self.comboBox_2.setObjectName("comboBox_2")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.badsectorL = QtWidgets.QLabel(self.settingsT)
        self.badsectorL.setGeometry(QtCore.QRect(30, 240, 220, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.badsectorL.sizePolicy().hasHeightForWidth())
        self.badsectorL.setSizePolicy(sizePolicy)
        self.badsectorL.setMinimumSize(QtCore.QSize(220, 25))
        self.badsectorL.setMaximumSize(QtCore.QSize(220, 25))
        self.badsectorL.setBaseSize(QtCore.QSize(220, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.badsectorL.setFont(font)
        self.badsectorL.setIndent(2)
        self.badsectorL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.badsectorL.setObjectName("badsectorL")
        self.dupL = QtWidgets.QLabel(self.settingsT)
        self.dupL.setGeometry(QtCore.QRect(30, 70, 220, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dupL.sizePolicy().hasHeightForWidth())
        self.dupL.setSizePolicy(sizePolicy)
        self.dupL.setMinimumSize(QtCore.QSize(220, 25))
        self.dupL.setMaximumSize(QtCore.QSize(220, 25))
        self.dupL.setBaseSize(QtCore.QSize(220, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.dupL.setFont(font)
        self.dupL.setIndent(2)
        self.dupL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.dupL.setObjectName("dupL")
        self.delL = QtWidgets.QLabel(self.settingsT)
        self.delL.setGeometry(QtCore.QRect(30, 160, 270, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.delL.sizePolicy().hasHeightForWidth())
        self.delL.setSizePolicy(sizePolicy)
        self.delL.setMinimumSize(QtCore.QSize(270, 25))
        self.delL.setMaximumSize(QtCore.QSize(270, 25))
        self.delL.setBaseSize(QtCore.QSize(270, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.delL.setFont(font)
        self.delL.setIndent(2)
        self.delL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.delL.setObjectName("delL")
        self.readsectorL = QtWidgets.QLabel(self.settingsT)
        self.readsectorL.setGeometry(QtCore.QRect(30, 300, 220, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.readsectorL.sizePolicy().hasHeightForWidth())
        self.readsectorL.setSizePolicy(sizePolicy)
        self.readsectorL.setMinimumSize(QtCore.QSize(220, 25))
        self.readsectorL.setMaximumSize(QtCore.QSize(220, 25))
        self.readsectorL.setBaseSize(QtCore.QSize(220, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.readsectorL.setFont(font)
        self.readsectorL.setIndent(2)
        self.readsectorL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.readsectorL.setObjectName("readsectorL")
        self.filetypeL = QtWidgets.QLabel(self.settingsT)
        self.filetypeL.setGeometry(QtCore.QRect(450, 40, 220, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.filetypeL.sizePolicy().hasHeightForWidth())
        self.filetypeL.setSizePolicy(sizePolicy)
        self.filetypeL.setMinimumSize(QtCore.QSize(220, 25))
        self.filetypeL.setMaximumSize(QtCore.QSize(220, 25))
        self.filetypeL.setBaseSize(QtCore.QSize(220, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.filetypeL.setFont(font)
        self.filetypeL.setIndent(2)
        self.filetypeL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.filetypeL.setObjectName("filetypeL")
        self.splitL = QtWidgets.QFrame(self.settingsT)
        self.splitL.setGeometry(QtCore.QRect(420, 0, 3, 20000))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.splitL.sizePolicy().hasHeightForWidth())
        self.splitL.setSizePolicy(sizePolicy)
        self.splitL.setFrameShape(QtWidgets.QFrame.VLine)
        self.splitL.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.splitL.setObjectName("splitL")
        self.typesTE = QtWidgets.QTextEdit(self.settingsT)
        self.typesTE.setGeometry(QtCore.QRect(450, 80, 380, 150))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.typesTE.sizePolicy().hasHeightForWidth())
        self.typesTE.setSizePolicy(sizePolicy)
        self.typesTE.setMinimumSize(QtCore.QSize(380, 150))
        self.typesTE.setMaximumSize(QtCore.QSize(380, 150))
        self.typesTE.setBaseSize(QtCore.QSize(380, 150))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.typesTE.setFont(font)
        self.typesTE.setObjectName("typesTE")
        self.loadsaveL = QtWidgets.QLabel(self.settingsT)
        self.loadsaveL.setGeometry(QtCore.QRect(450, 270, 220, 25))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.loadsaveL.sizePolicy().hasHeightForWidth())
        self.loadsaveL.setSizePolicy(sizePolicy)
        self.loadsaveL.setMinimumSize(QtCore.QSize(220, 25))
        self.loadsaveL.setMaximumSize(QtCore.QSize(220, 25))
        self.loadsaveL.setBaseSize(QtCore.QSize(220, 25))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        font.setPointSize(9)
        self.loadsaveL.setFont(font)
        self.loadsaveL.setIndent(2)
        self.loadsaveL.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.loadsaveL.setObjectName("loadsaveL")
        self.loadsaveLV = QtWidgets.QListView(self.settingsT)
        self.loadsaveLV.setGeometry(QtCore.QRect(450, 300, 251, 171))
        self.loadsaveLV.setObjectName("loadsaveLV")
        self.loadPB = QtWidgets.QPushButton(self.settingsT)
        self.loadPB.setGeometry(QtCore.QRect(730, 310, 100, 30))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.loadPB.sizePolicy().hasHeightForWidth())
        self.loadPB.setSizePolicy(sizePolicy)
        self.loadPB.setMinimumSize(QtCore.QSize(100, 30))
        self.loadPB.setMaximumSize(QtCore.QSize(100, 30))
        self.loadPB.setBaseSize(QtCore.QSize(100, 30))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.loadPB.setFont(font)
        self.loadPB.setObjectName("loadPB")
        self.loadPB_2 = QtWidgets.QPushButton(self.settingsT)
        self.loadPB_2.setGeometry(QtCore.QRect(730, 370, 100, 30))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.loadPB_2.sizePolicy().hasHeightForWidth())
        self.loadPB_2.setSizePolicy(sizePolicy)
        self.loadPB_2.setMinimumSize(QtCore.QSize(100, 30))
        self.loadPB_2.setMaximumSize(QtCore.QSize(100, 30))
        self.loadPB_2.setBaseSize(QtCore.QSize(100, 30))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.loadPB_2.setFont(font)
        self.loadPB_2.setObjectName("loadPB_2")
        self.loadPB_3 = QtWidgets.QPushButton(self.settingsT)
        self.loadPB_3.setGeometry(QtCore.QRect(730, 430, 100, 30))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.loadPB_3.sizePolicy().hasHeightForWidth())
        self.loadPB_3.setSizePolicy(sizePolicy)
        self.loadPB_3.setMinimumSize(QtCore.QSize(100, 30))
        self.loadPB_3.setMaximumSize(QtCore.QSize(100, 30))
        self.loadPB_3.setBaseSize(QtCore.QSize(100, 30))
        font = QtGui.QFont()
        font.setFamily("Segoe UI")
        self.loadPB_3.setFont(font)
        self.loadPB_3.setObjectName("loadPB_3")
        self.tabWidget.addTab(self.settingsT, icon2, "")
        self.logT = QtWidgets.QWidget()
        self.logT.setObjectName("logT")
        self.tabWidget.addTab(self.logT, icon2, "")
        self.centralVL.addWidget(self.tabWidget)
        self.footerF = QtWidgets.QFrame(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.footerF.sizePolicy().hasHeightForWidth())
        self.footerF.setSizePolicy(sizePolicy)
        self.footerF.setMinimumSize(QtCore.QSize(900, 40))
        self.footerF.setMaximumSize(QtCore.QSize(16777215, 40))
        self.footerF.setBaseSize(QtCore.QSize(900, 40))
        self.footerF.setStyleSheet("background-color: rgb(32, 56, 77);")
        self.footerF.setObjectName("footerF")
        self.centralVL.addWidget(self.footerF, 0, QtCore.Qt.AlignBottom)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        self.tabWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Recovery Software"))
        self.upgradePB.setText(_translate("MainWindow", "Upgrade"))
        self.reportPB.setText(_translate("MainWindow", "Report error"))
        self.helpPB.setText(_translate("MainWindow", "Help"))
        self.alldriveCB.setText(_translate("MainWindow", "Scan My Computer"))
        self.drive1CB.setText(_translate("MainWindow", "C: Windows"))
        self.drive2CB.setText(_translate("MainWindow", "D: New Volume"))
        self.drive4CB.setText(_translate("MainWindow", "F: Checking"))
        self.drive3CB.setText(_translate("MainWindow", "E: Testing"))
        self.imageCB.setText(_translate("MainWindow", "Exclude Image files"))
        self.dupCB.setText(_translate("MainWindow", "Ignore Duplicate files"))
        self.delCB.setText(_translate("MainWindow", "Recover deleted files"))
        self.videoCB.setText(_translate("MainWindow", "Exclude video files"))
        self.quickCB.setText(_translate("MainWindow", "Quick Scan"))
        self.advCB.setText(_translate("MainWindow", "Advanced Scan"))
        self.scanPB.setText(_translate("MainWindow", "Scan now"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.scanT), _translate("MainWindow", "Scan"))
        self.allCB.setText(_translate("MainWindow", "All files"))
        self.deleteCB.setText(_translate("MainWindow", "Deleted files only"))
        self.detailTW.setSortingEnabled(True)
        self.detailTW.headerItem().setText(0, _translate("MainWindow", "File name"))
        self.detailTW.headerItem().setText(1, _translate("MainWindow", "Type"))
        self.detailTW.headerItem().setText(2, _translate("MainWindow", "Size"))
        self.detailTW.headerItem().setText(3, _translate("MainWindow", "Date created"))
        self.detailTW.headerItem().setText(4, _translate("MainWindow", "Date modified"))
        self.detailTW.headerItem().setText(5, _translate("MainWindow", "Status"))
        self.detailTW.headerItem().setText(6, _translate("MainWindow", "Volume"))
        self.detailTW.headerItem().setText(7, _translate("MainWindow", "Folder path"))
        __sortingEnabled = self.detailTW.isSortingEnabled()
        self.detailTW.setSortingEnabled(False)
        self.detailTW.topLevelItem(0).setText(0, _translate("MainWindow", "test"))
        self.detailTW.topLevelItem(0).setText(1, _translate("MainWindow", "txt"))
        self.detailTW.topLevelItem(0).setText(2, _translate("MainWindow", "12kb"))
        self.detailTW.setSortingEnabled(__sortingEnabled)
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.filesT), _translate("MainWindow", "Files Recovery"))
        self.allCB_2.setText(_translate("MainWindow", "All files"))
        self.deleteCB_2.setText(_translate("MainWindow", "Deleted files only"))
        self.detailTW_2.setSortingEnabled(True)
        self.detailTW_2.headerItem().setText(0, _translate("MainWindow", "File name"))
        self.detailTW_2.headerItem().setText(1, _translate("MainWindow", "Type"))
        self.detailTW_2.headerItem().setText(2, _translate("MainWindow", "Size"))
        self.detailTW_2.headerItem().setText(3, _translate("MainWindow", "Date created"))
        self.detailTW_2.headerItem().setText(4, _translate("MainWindow", "Date modified"))
        self.detailTW_2.headerItem().setText(5, _translate("MainWindow", "Status"))
        self.detailTW_2.headerItem().setText(6, _translate("MainWindow", "Volume"))
        self.detailTW_2.headerItem().setText(7, _translate("MainWindow", "Folder path"))
        __sortingEnabled = self.detailTW_2.isSortingEnabled()
        self.detailTW_2.setSortingEnabled(False)
        self.detailTW_2.topLevelItem(0).setText(0, _translate("MainWindow", "test"))
        self.detailTW_2.topLevelItem(0).setText(1, _translate("MainWindow", "txt"))
        self.detailTW_2.topLevelItem(0).setText(2, _translate("MainWindow", "12kb"))
        self.detailTW_2.setSortingEnabled(__sortingEnabled)
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.imageT), _translate("MainWindow", "Image Recovery"))
        self.allCB_3.setText(_translate("MainWindow", "All files"))
        self.deleteCB_3.setText(_translate("MainWindow", "Deleted files only"))
        self.detailTW_3.setSortingEnabled(True)
        self.detailTW_3.headerItem().setText(0, _translate("MainWindow", "File name"))
        self.detailTW_3.headerItem().setText(1, _translate("MainWindow", "Type"))
        self.detailTW_3.headerItem().setText(2, _translate("MainWindow", "Size"))
        self.detailTW_3.headerItem().setText(3, _translate("MainWindow", "Date created"))
        self.detailTW_3.headerItem().setText(4, _translate("MainWindow", "Date modified"))
        self.detailTW_3.headerItem().setText(5, _translate("MainWindow", "Status"))
        self.detailTW_3.headerItem().setText(6, _translate("MainWindow", "Volume"))
        self.detailTW_3.headerItem().setText(7, _translate("MainWindow", "Folder path"))
        __sortingEnabled = self.detailTW_3.isSortingEnabled()
        self.detailTW_3.setSortingEnabled(False)
        self.detailTW_3.topLevelItem(0).setText(0, _translate("MainWindow", "test"))
        self.detailTW_3.topLevelItem(0).setText(1, _translate("MainWindow", "txt"))
        self.detailTW_3.topLevelItem(0).setText(2, _translate("MainWindow", "12kb"))
        self.detailTW_3.setSortingEnabled(__sortingEnabled)
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.videoT), _translate("MainWindow", "Video Recovery"))
        self.allCB_4.setText(_translate("MainWindow", "All files"))
        self.deleteCB_4.setText(_translate("MainWindow", "Deleted files only"))
        self.detailTW_4.setSortingEnabled(True)
        self.detailTW_4.headerItem().setText(0, _translate("MainWindow", "File name"))
        self.detailTW_4.headerItem().setText(1, _translate("MainWindow", "Type"))
        self.detailTW_4.headerItem().setText(2, _translate("MainWindow", "Size"))
        self.detailTW_4.headerItem().setText(3, _translate("MainWindow", "Date created"))
        self.detailTW_4.headerItem().setText(4, _translate("MainWindow", "Date modified"))
        self.detailTW_4.headerItem().setText(5, _translate("MainWindow", "Status"))
        self.detailTW_4.headerItem().setText(6, _translate("MainWindow", "Volume"))
        self.detailTW_4.headerItem().setText(7, _translate("MainWindow", "Folder path"))
        __sortingEnabled = self.detailTW_4.isSortingEnabled()
        self.detailTW_4.setSortingEnabled(False)
        self.detailTW_4.topLevelItem(0).setText(0, _translate("MainWindow", "test"))
        self.detailTW_4.topLevelItem(0).setText(1, _translate("MainWindow", "txt"))
        self.detailTW_4.topLevelItem(0).setText(2, _translate("MainWindow", "12kb"))
        self.detailTW_4.setSortingEnabled(__sortingEnabled)
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.docT), _translate("MainWindow", "Document Recovery"))
        self.previewCB.setText(_translate("MainWindow", "Turn off preview mode"))
        self.duprenameCB.setText(_translate("MainWindow", "Rename"))
        self.dupoverCB.setText(_translate("MainWindow", "Overwrite"))
        self.dupexcludeCB.setText(_translate("MainWindow", "Exclude"))
        self.delincludeCB.setText(_translate("MainWindow", "Include"))
        self.delexcludeCB.setText(_translate("MainWindow", "Exclude"))
        self.updateCB.setText(_translate("MainWindow", "Automatically check for updates at startup"))
        self.badsectorCB.setItemText(0, _translate("MainWindow", "1"))
        self.badsectorCB.setItemText(1, _translate("MainWindow", "2"))
        self.badsectorCB.setItemText(2, _translate("MainWindow", "3"))
        self.badsectorCB.setItemText(3, _translate("MainWindow", "4"))
        self.badsectorCB.setItemText(4, _translate("MainWindow", "5"))
        self.badsectorCB.setItemText(5, _translate("MainWindow", "6"))
        self.badsectorCB.setItemText(6, _translate("MainWindow", "7"))
        self.badsectorCB.setItemText(7, _translate("MainWindow", "8"))
        self.badsectorCB.setItemText(8, _translate("MainWindow", "9"))
        self.badsectorCB.setItemText(9, _translate("MainWindow", "10"))
        self.comboBox_2.setItemText(0, _translate("MainWindow", "10"))
        self.comboBox_2.setItemText(1, _translate("MainWindow", "20"))
        self.comboBox_2.setItemText(2, _translate("MainWindow", "30"))
        self.comboBox_2.setItemText(3, _translate("MainWindow", "40"))
        self.comboBox_2.setItemText(4, _translate("MainWindow", "50"))
        self.comboBox_2.setItemText(5, _translate("MainWindow", "60"))
        self.comboBox_2.setItemText(6, _translate("MainWindow", "70"))
        self.comboBox_2.setItemText(7, _translate("MainWindow", "80"))
        self.comboBox_2.setItemText(8, _translate("MainWindow", "90"))
        self.comboBox_2.setItemText(9, _translate("MainWindow", "100"))
        self.badsectorL.setText(_translate("MainWindow", "Number of attempts to read bad sectors"))
        self.dupL.setText(_translate("MainWindow", "How to handle Duplicate Files Recovery"))
        self.delL.setText(_translate("MainWindow", "Include or Exclude Deleted Files while recovering?"))
        self.readsectorL.setText(_translate("MainWindow", "Number of sectors to read at a time"))
        self.filetypeL.setText(_translate("MainWindow", "Types of files to be excluded in scan :"))
        self.typesTE.setPlaceholderText(_translate("MainWindow", "Add file types to exclude here. For example add extentions in this format: txt, zip, pdf"))
        self.loadsaveL.setText(_translate("MainWindow", "List of Recovery scan saved previously :"))
        self.loadPB.setText(_translate("MainWindow", "Load Selected"))
        self.loadPB_2.setText(_translate("MainWindow", "Save current scan"))
        self.loadPB_3.setText(_translate("MainWindow", "Delete Selected"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.settingsT), _translate("MainWindow", "Settings"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.logT), _translate("MainWindow", "Logs"))

from tabwidget import TabWidget
import res_rc

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

mainwindow.py

import sys, os, requests, webbrowser
from PyQt5 import QtWidgets, QtGui, QtCore, Qt
from mainwindow_ui import Ui_MainWindow
from login_ui import Ui_loginD
from msgbox_ui import Ui_msgD
from report_ui import Ui_reportD
from proxy_ui import Ui_proxyD
from qroundprogressbar import QRoundProgressBar


class MsgBox(QtWidgets.QDialog, Ui_msgD):
    def __init__(self, parent=None):
        super(MsgBox, self).__init__()
        self.setupUi(self)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setFixedSize(self.size())
        self.noPB.clicked.connect(self.close)
        self.font = QtGui.QFont()
        self.font.setPixelSize(18)
        self.appnameL.setFont(self.font)
        self.font.setPixelSize(14)
        self.msgL.setFont(self.font)

    def mousePressEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.moving = True
            self.offset = event.pos()
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            if self.moving:
                self.move(event.globalPos() - self.offset)
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseReleaseEvent(self, event):
        m_mouse_down = False


class ReportWindow(QtWidgets.QDialog, Ui_reportD):
    def __init__(self, parent=None):
        super(ReportWindow, self).__init__()
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
        self.setupUi(self)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setFixedSize(self.size())
        self.sendPB.clicked.connect(self.sendclick)
        self.closePB.clicked.connect(self.close)
        self.font = QtGui.QFont()
        self.font.setPixelSize(18)
        self.appnameL.setFont(self.font)
        self.font.setPixelSize(20)
        self.reportL.setFont(self.font)
        self.font.setPixelSize(14)
        self.emailL.setFont(self.font)
        self.font.setPixelSize(14)
        self.emailLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.nameL.setFont(self.font)
        self.font.setPixelSize(14)
        self.nameLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.detailsL.setFont(self.font)
        self.font.setPixelSize(14)
        self.descTE.setFont(self.font)

    def sendclick(self):
        self.msgbox = MsgBox()
        self.msgbox.msgL.setText('Report sent')
        self.msgbox.yesPB.hide()
        self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                  "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
        self.msgbox.exec_()
        self.close()

    def mousePressEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.moving = True
            self.offset = event.pos()
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            if self.moving:
                self.move(event.globalPos() - self.offset)
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseReleaseEvent(self, event):
        m_mouse_down = False


class ProxyWindow(QtWidgets.QDialog, Ui_proxyD):
    def __init__(self, parent=None):
        super(ProxyWindow, self).__init__()
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
        self.setupUi(self)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setFixedSize(self.size())
        self.savePB.clicked.connect(self.saveclick)
        self.closePB.clicked.connect(self.close)
        self.noproxyRB.clicked.connect(self.noclick)
        self.autoproxyRB.clicked.connect(self.autoclick)
        self.manproxyRB.clicked.connect(self.manclick)
        self.proxypassCB.clicked.connect(self.passclick)
        self.font = QtGui.QFont()
        self.font.setPixelSize(18)
        self.appnameL.setFont(self.font)
        self.font.setPixelSize(20)
        self.proxyL.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxypassCB.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxypassLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxypassL.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxyuserLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxyuserL.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxyserverL.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxyserverLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxyportLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.proxyportL.setFont(self.font)
        self.font.setPixelSize(14)
        self.noproxyRB.setFont(self.font)
        self.font.setPixelSize(14)
        self.autoproxyRB.setFont(self.font)
        self.font.setPixelSize(14)
        self.manproxyRB.setFont(self.font)

    def saveclick(self):
        self.msgbox = MsgBox()
        self.msgbox.msgL.setText('Proxy settings saved')
        self.msgbox.yesPB.hide()
        self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                  "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
        self.msgbox.exec_()
        self.close()

    def noclick(self):
        self.proxyserverL.setEnabled(False)
        self.proxyserverLE.setEnabled(False)
        self.proxyportL.setEnabled(False)
        self.proxyportLE.setEnabled(False)
        self.proxypassCB.setEnabled(False)
        self.proxyuserL.setEnabled(False)
        self.proxyuserLE.setEnabled(False)
        self.proxypassL.setEnabled(False)
        self.proxypassLE.setEnabled(False)

    def autoclick(self):
        self.proxyserverL.setEnabled(False)
        self.proxyserverLE.setEnabled(False)
        self.proxyportL.setEnabled(False)
        self.proxyportLE.setEnabled(False)
        self.proxypassCB.setEnabled(False)
        self.proxyuserL.setEnabled(False)
        self.proxyuserLE.setEnabled(False)
        self.proxypassL.setEnabled(False)
        self.proxypassLE.setEnabled(False)
        self.msgbox = MsgBox()
        self.msgbox.msgL.setText('Unable to detect settings automatically.')
        self.msgbox.yesPB.hide()
        self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                  "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
        self.msgbox.exec_()

    def manclick(self):
        self.proxyserverL.setEnabled(True)
        self.proxyserverLE.setEnabled(True)
        self.proxyportL.setEnabled(True)
        self.proxyportLE.setEnabled(True)
        self.proxypassCB.setEnabled(True)
        if self.proxypassCB.isChecked():
            self.proxyuserL.setEnabled(True)
            self.proxyuserLE.setEnabled(True)
            self.proxypassL.setEnabled(True)
            self.proxypassLE.setEnabled(True)

    def passclick(self):
        if self.proxypassCB.isChecked():
            self.proxyuserL.setEnabled(True)
            self.proxyuserLE.setEnabled(True)
            self.proxypassL.setEnabled(True)
            self.proxypassLE.setEnabled(True)
        else:
            self.proxyuserL.setEnabled(False)
            self.proxyuserLE.setEnabled(False)
            self.proxypassL.setEnabled(False)
            self.proxypassLE.setEnabled(False)

    def mousePressEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.moving = True
            self.offset = event.pos()
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            if self.moving:
                self.move(event.globalPos() - self.offset)
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseReleaseEvent(self, event):
        m_mouse_down = False


class LoginWindow(QtWidgets.QDialog, Ui_loginD):
    def __init__(self, parent=None):
        super(LoginWindow, self).__init__()
        self.setupUi(self)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setMouseTracking(True)
        self.adjustSize()
        self.setFixedSize(self.size())
        self.minPB.clicked.connect(self.minclick)
        self.closePB.clicked.connect(self.closeclick)
        self.proxyPB.clicked.connect(self.proxyclick)
        self.buyPB.clicked.connect(self.buyclick)
        self.supportPB.clicked.connect(self.supportclick)
        self.loginPB.clicked.connect(self.loginclick)
        self.trialPB.clicked.connect(self.trialclick)
        self.font = QtGui.QFont()
        self.font.setPixelSize(18)
        self.appnameL.setFont(self.font)
        self.font2 = QtGui.QFont()
        self.font2.setPixelSize(18)
        self.font2.setBold(True)
        self.font2.setWeight(75)
        self.appheadL.setFont(self.font2)
        self.font.setPixelSize(14)
        self.forgotpassL.setFont(self.font)
        self.font.setPixelSize(14)
        self.orL.setFont(self.font)
        self.font.setPixelSize(14)
        self.emailLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.passLE.setFont(self.font)
        self.font.setPixelSize(14)
        self.rememberCB.setFont(self.font)

        dir_path = '%s\\BMR\\' % os.environ['LOCALAPPDATA']
        file_path = '%stemp.dat' % dir_path
        if os.path.exists(file_path):
            f = open(file_path, "r")
            for line in f:
                cred = line.split("|")
            f.close()
            self.emailLE.setText(cred[0])
            self.passLE.setText(cred[1])
        else:
            self.rememberCB.setChecked(False)

    def minclick(self):
        self.showMinimized()

    def closeclick(self):
        sys.exit()

    def proxyclick(self):
        proxy = ProxyWindow()
        proxy.exec_()

    def buyclick(self):
        webbrowser.open('https://www.dummysite.com/pricing.html')

    def supportclick(self):
        webbrowser.open('https://www.dummysites.com/support.html')

    def loginclick(self):
        if self.rememberCB.isChecked():
            dir_path = '%s\\BMR\\' % os.environ['LOCALAPPDATA']
            if not os.path.exists(dir_path):
                os.makedirs(dir_path)
            file_path = '%stemp.dat' % dir_path
            file = open(file_path, "w")
            file.write(self.emailLE.text() + '|' + self.passLE.text())
            file.close()
        else:
            dir_path = '%s\\BMR\\' % os.environ['LOCALAPPDATA']
            if not os.path.exists(dir_path):
                os.makedirs(dir_path)
            file_path = '%stemp.dat' % dir_path
            if os.path.exists(file_path):
                os.remove(file_path)
        url = 'https://www.dummysite.com/login.php'
        creds = {'email': str(self.emailLE.text()), 'pswd': str(self.passLE.text())}
        try:
            r = requests.post(url, data=creds)
            if r.text == '{"status":"success"}':
                self.accept()
            else:
                self.msgbox = MsgBox()
                self.msgbox.msgL.setText('Login failed due to wrong Email or password')
                self.msgbox.yesPB.hide()
                self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                          "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
                self.msgbox.exec_()
        except requests.ConnectionError:
            self.msgbox = MsgBox()
            self.msgbox.msgL.setText('Login failed due to no internet connection')
            self.msgbox.yesPB.hide()
            self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                      "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
            self.msgbox.exec_()

    def trialclick(self):
        self.msgbox = MsgBox()
        self.msgbox.msgL.setText('Logging in demo mode')
        self.msgbox.yesPB.hide()
        self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                  "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
        self.msgbox.exec_()
        self.emailLE.setText("Demo mode")
        self.accept()

    def mousePressEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.moving = True
            self.offset = event.pos()
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            if self.moving:
                self.move(event.globalPos() - self.offset)
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseReleaseEvent(self, event):
        m_mouse_down = False


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent=parent)
        self.setupUi(self)
        #self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.tabcurrent = self.tabWidget.currentIndex()
        self.reportPB.clicked.connect(self.errorclick)
        self.helpPB.clicked.connect(self.helpclick)
        self.upgradePB.clicked.connect(self.upgradeclick)
        self.minPB.clicked.connect(self.minclick)
        self.closePB.clicked.connect(self.closeclick)
        self.scanPB.clicked.connect(self.scanclick)
        self.tabWidget.currentChanged.connect(self.tabchange)
        self.tabscan = 0
        self.drive1PB.mouseReleaseEvent = self.showcheck1
        self.drive2PB.mouseReleaseEvent = self.showcheck2
        self.drive3PB.mouseReleaseEvent = self.showcheck3
        self.drive4PB.mouseReleaseEvent = self.showcheck4
        pal = self.tabWidget.palette()
        pal.setColor(QtGui.QPalette.Window, QtGui.QColor(42,57,85,255))
        self.tabWidget.setPalette(pal)

    def showcheck1(self, event):
        self.drive1CB.toggle()

    def showcheck2(self, event):
        self.drive2CB.toggle()

    def showcheck3(self, event):
        self.drive3CB.toggle()

    def showcheck4(self, event):
        self.drive4CB.toggle()

    def scanclick(self):
        self.tabscan = 1

    def tabchange(self, i):
        if i == 6:
            self.tabWidget.setCurrentIndex(self.tabcurrent)
            os.startfile("D:\Recpy\helpme.txt")
        self.tabcurrent = i
        if self.tabscan == 0 and i != 0 and i != 5 and i != 6:
            self.tabWidget.setCurrentIndex(0)
            self.msgbox = MsgBox()
            self.msgbox.msgL.setText('Please scan before proceeding further')
            self.msgbox.yesPB.hide()
            self.msgbox.noPB.setStyleSheet("QPushButton  {border-image: url(:/img/img/ok.png);}"
                                           "QPushButton:hover    {border-image: url(:/img/img/ok_hover.png);}")
            self.msgbox.exec_()

        # progress = QRoundProgressBar()
        # progress.setBarStyle(QRoundProgressBar.BarStyle.DONUT)

    def login(self):
        logindialog = LoginWindow()
        if logindialog.exec_():
            self.show()
            self.emailL.setText(logindialog.emailLE.text())
            self.emailL.adjustSize()

    def upgradeclick(self):
        webbrowser.open('https://www.dummysite.com/pricing.html')

    def errorclick(self):
        self.report = ReportWindow()
        self.report.show()

    def helpclick(self):
        webbrowser.open('https://www.dummysite.com/faq.html')

    def minclick(self):
        self.showMinimized()

    def closeclick(self):
        self.msgbox = MsgBox()
        self.msgbox.msgL.setText('Are you sure you want to exit?')
        self.msgbox.yesPB.clicked.connect(self.yescclick)
        self.msgbox.exec_()

    def yescclick(self):
        sys.exit()

    def mousePressEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.moving = True
            self.offset = event.pos()
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            if self.moving:
                self.move(event.globalPos() - self.offset)
        elif event.buttons() == QtCore.Qt.RightButton:
            event.ignore()

    def mouseReleaseEvent(self, event):
        m_mouse_down = False


class ProxyStyle(QtWidgets.QProxyStyle):
    def drawControl(self, element, opt, painter, widget):
        if element == QtWidgets.QStyle.CE_TabBarTabLabel:
            ic = self.pixelMetric(QtWidgets.QStyle.PM_TabBarIconSize)
            r = QtCore.QRect(opt.rect)
            w =  0 if opt.icon.isNull() else opt.rect.width() + self.pixelMetric(QtWidgets.QStyle.PM_TabBarIconSize)
            r.setHeight(opt.fontMetrics.width(opt.text) + w)
            r.moveBottom(opt.rect.bottom())
            opt.rect = r
        QtWidgets.QProxyStyle.drawControl(self, element, opt, painter, widget)

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    app.setStyle("fusion")
    QtWidgets.QApplication.setStyle(ProxyStyle())
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

image

Ok, i added proxystyle class and this is what i am getting if i remove padding and margin part of css for tab. Text is getting clipped and top 3 buttons lost the style. i dont want to use fusion style as it doesnt provide the windows look. this is supposed to be a windows application. any idea why text is clipped on my side? thanks

Edit: also i need the padding because otherwise the tab looks too small. I need to provide the size of tab big enough as theyre the main navigation part of application

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

ya thanks that fixed the text cropping. but i need to have a bigger tab and adding padding is making it bad. should i change rect size of tab manually or any better solution? because on resize with maximum button may not be good idea with manual rect size?

Edit: also adding proxystyle is making 3 pushbutton on banner lose its background color. i tried setting it again with

self.upgradePB.setStyleSheet("background-color: rgb(31, 56, 78);")
self.reportPB.setStyleSheet("background-color: rgb(31, 56, 78);")
self.helpPB.setStyleSheet("background-color: rgb(31, 56, 78);")

but its not taking effect

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

thanks, i didnt know we can add padding in header like that. Only problem i have is i would like to keep the style default which is "windows" i believe. We are trying to maintain our UI similar to other products we have which are designed in C#. So having fusion style throws off the same brand feel. But without using fusion and trying to set "windows" again or without it the top 3 "Upgrade, Report, Help" buttons are coming as white. my stylesheet assigning i did in mainwindow which is before the proxystyle code implementation. so i think its getting overwritten?

Thanks for help.
image

from stackoverflow.

nitubhaskar avatar nitubhaskar commented on July 23, 2024

ok thanks for help, i was asking since the solution ended with side effect. so didn't want to make a new thread and explain all the previous problems and how it ended at that. But i understand that you don't have to go further. thanks for help

EDIT: I found a simple alternative solution to the issue. added an image instead to it. so now it works. thanks for all the help.

from stackoverflow.

eyllanesc avatar eyllanesc commented on July 23, 2024

@nitubhaskar
You could indicate here your alternative solution to help future readers as I have helped you.

from stackoverflow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.