def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.btn_mainmenu = PushButton(self) self.btn_min = PushButton(self) self.btn_max = PushButton(self) self.btn_close = PushButton(self) # Set logo picture self.lab_logo = QLabel() pixmap = QPixmap("icons/24px-video.png") self.lab_logo.setPixmap(pixmap) self.lab_logo.setFixedSize(pixmap.size()) self.lab_logo.setStyleSheet("background:transparent") # set logo transparent self.lab_logo.setCursor(Qt.PointingHandCursor) # Set Title self.lab_title = QLabel() self.lab_title.setText(u' GracePlay ') self.lab_title.setStyleSheet("color:white") # set logo transparent self.lab_title.setFont(QFont("Roman times", 12, QFont.Normal)) self.lab_title.setAlignment(Qt.AlignRight | Qt.AlignBottom) # Set Movie name self.lab_movie_name = QLabel() self.lab_movie_name.setText(u'') self.lab_movie_name.setStyleSheet("color:white") # set logo transparent self.lab_movie_name.setFont(QFont("Roman times", 9, QFont.Normal)) self.lab_movie_name.setAlignment(Qt.AlignRight | Qt.AlignBottom) # Set the picture of buttons self.btn_mainmenu.loadPixmap('icons/main_menu.png') self.btn_min.loadPixmap('icons/min_button.png') self.btn_max.loadPixmap('icons/max_button.png') self.btn_close.loadPixmap('icons/close_button.png') title_layout = QHBoxLayout() title_layout.addWidget(self.lab_logo, 0, Qt.AlignTop) title_layout.addWidget(self.lab_title, 0, Qt.AlignCenter) title_layout.setSpacing(0) title_layout.addWidget(self.lab_movie_name, 0, Qt.AlignCenter) title_layout.addStretch() title_layout.addWidget(self.btn_mainmenu, 0, Qt.AlignTop) title_layout.addWidget(self.btn_min, 0, Qt.AlignTop) title_layout.addWidget(self.btn_max, 0, Qt.AlignTop) title_layout.addWidget(self.btn_close, 0, Qt.AlignTop) title_layout.setContentsMargins(0, 0, 5, 0) # Set hints of the buttons self.translateLanguage() self.setLayout(title_layout) self.setFixedHeight(23) self.is_move = False self.skin_name = QtCore.QString("skin/3-blue-title.png") self.pixmap = QtGui.QPixmap() self.pixmap.load(self.skin_name)
def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.min_button = PushButton(self) self.max_button = PushButton(self) self.close_button = PushButton(self) self.button_list = [] self.min_button.loadPixmap("./sys/img/min_button.png") self.max_button.loadPixmap("./sys/img/max_button.png") self.close_button.loadPixmap("./sys/img/close_button.png") title_layout = QHBoxLayout() title_layout.addStretch() title_layout.addWidget(self.min_button, 0, Qt.AlignTop) title_layout.addWidget(self.max_button, 0, Qt.AlignTop) title_layout.addWidget(self.close_button, 0, Qt.AlignTop) title_layout.setSpacing(0) title_layout.setContentsMargins(0, 0, 15, 0) button_layout = QHBoxLayout() signal_mapper = QSignalMapper(self) self.connect(signal_mapper, SIGNAL("mapped()"), self, SLOT("turnPage()")) button_layout.addStretch() button_layout.setSpacing(8) button_layout.setContentsMargins(15, 0, 0, 0) main_layout = QVBoxLayout() main_layout.addLayout(title_layout) main_layout.addLayout(button_layout) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.translateLanguage() self.setLayout(main_layout) self.setFixedHeight(100)
def initTitle(self): self.title_label = QLabel() self.title_icon_label = QLabel() self.close_button = PushButton() self.close_button.loadPixmap("./img/sysButton/close.png") self.title_label.setStyleSheet("color:white") pixmap = QPixmap("./img/safe") self.title_icon_label.setPixmap(pixmap) self.title_icon_label.setFixedSize(16, 16) self.title_icon_label.setScaledContents(True) self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) self.title_layout.setSpacing(5) self.title_layout.setContentsMargins(10, 0, 5, 10) self.connect(self.close_button, SIGNAL("clicked()"), self, SLOT("close()"))
def initTitle(self): self.title_label = QLabel(self) self.title_icon_label = QLabel(self) self.close_button = PushButton(self) self.close_button.loadPixmap("./sys/img/close_button.png") self.title_label.setFixedHeight(30) self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) self.title_layout.setSpacing(5) self.title_layout.setContentsMargins(10, 0, 5, 0) self.initTitle self.title_label.setStyleSheet("color:white") self.connect(self.close_button, SIGNAL("clicked()"), SLOT("close()"))
def initTitle(self): self.title_label = QLabel() self.title_icon_label = QLabel() self.close_button = PushButton() self.close_button.loadPixmap("./img/sysButton/close.png") self.title_label.setStyleSheet("color:white") pixmap = QPixmap ("./img/safe") self.title_icon_label.setPixmap(pixmap) self.title_icon_label.setFixedSize(16, 16) self.title_icon_label.setScaledContents(True) self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) self.title_layout.setSpacing(5) self.title_layout.setContentsMargins(10, 0, 5, 10) self.connect(self.close_button, SIGNAL("clicked()"), self, SLOT("close()"))
def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.skin_button = PushButton(self) self.main_menu_button = PushButton(self) self.min_button = PushButton(self) self.max_button = PushButton(self) self.close_button = PushButton(self) self.medal_button = QPushButton(self) self.button_list = [] #版本标题颜色设置 self.version_title = QLabel() self.version_title.setStyleSheet("color:white") #设置按钮的图片 self.skin_button.loadPixmap("./img/sysButton/skin_button.png") self.main_menu_button.loadPixmap("./img/sysButton/main_menu.png") self.min_button.loadPixmap("./img/sysButton/min_button.png") self.max_button.loadPixmap("./img/sysButton/max_button.png") self.close_button.loadPixmap("./img/sysButton/close_button.png") #设置功勋图标 medal_icon = QIcon("./img/contentWidget/medal.png") self.medal_button.setIcon(medal_icon) self.medal_button.setFixedSize(25, 25) self.medal_button.setIconSize(QSize(25, 25)) self.medal_button.setStyleSheet("background:transparent") #透明显示 self.connect(self.skin_button, SIGNAL("clicked()"), self, SIGNAL("showSkin()")) self.connect(self.main_menu_button, SIGNAL("clicked()"), self, SIGNAL("showMainMenu()")) self.connect(self.min_button, SIGNAL("clicked()"), self, SIGNAL("showMin()")) self.connect(self.max_button, SIGNAL("clicked()"), self, SIGNAL("showMax()")) self.connect(self.close_button, SIGNAL("clicked()"), self, SIGNAL("showClose()")) #closeWidget self, title_layout = QHBoxLayout() title_layout.addWidget(self.version_title, 0, Qt.AlignVCenter) title_layout.addStretch() title_layout.addWidget(self.medal_button, 0, Qt.AlignTop) title_layout.addWidget(self.skin_button, 0, Qt.AlignTop) title_layout.addWidget(self.main_menu_button, 0, Qt.AlignTop) title_layout.addWidget(self.min_button, 0, Qt.AlignTop) title_layout.addWidget(self.max_button, 0, Qt.AlignTop) title_layout.addWidget(self.close_button, 0, Qt.AlignTop) title_layout.setSpacing(0) title_layout.setContentsMargins(0, 0, 5, 0) self.version_title.setContentsMargins(15, 0, 0, 0) self.skin_button.setContentsMargins(0, 0, 10, 0) #string_list = QStringList string_list = ["./img/toolWidget/tiJian.png", "./img/toolWidget/muMa.png", "./img/toolWidget/louDong.png", \ "./img/toolWidget/xiTong.png", "./img/toolWidget/qingLi.png", "./img/toolWidget/jiaSu.png", \ "./img/toolWidget/menZhen.png", "./img/toolWidget/ruanJian.png"] button_layout = QHBoxLayout() #还不知道怎么用 signal_mapper = QSignalMapper(self) for i in range(len(string_list)): self.tool_button = ToolButton(string_list[i]) #self.tool_button.setParent() self.button_list.append(self.tool_button) self.connect(self.tool_button, SIGNAL("clicked()"), signal_mapper, SLOT("map()")) signal_mapper.setMapping(self.tool_button, QString.number(i, 10)) button_layout.addWidget(self.tool_button, 0, Qt.AlignBottom) self.connect(signal_mapper, SIGNAL("mapped()"), self, SLOT("turnPage()")) logo_label = QLabel() pixmap = QPixmap("./img/logo.png") logo_label.setPixmap(pixmap) logo_label.setFixedSize(pixmap.size()) logo_label.setCursor(Qt.PointingHandCursor) button_layout.addStretch() button_layout.addWidget(logo_label) button_layout.setSpacing(8) button_layout.setContentsMargins(15, 0, 0, 0) main_layout = QVBoxLayout() main_layout.addLayout(title_layout) main_layout.addLayout(button_layout) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.translateLanguage() self.setLayout(main_layout) self.setFixedHeight(100) self.is_move = False
class TitleWidget(QWidget): def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.skin_button = PushButton(self) self.main_menu_button = PushButton(self) self.min_button = PushButton(self) self.max_button = PushButton(self) self.close_button = PushButton(self) self.medal_button = QPushButton(self) self.button_list = [] #版本标题颜色设置 self.version_title = QLabel() self.version_title.setStyleSheet("color:white") #设置按钮的图片 self.skin_button.loadPixmap("./img/sysButton/skin_button.png") self.main_menu_button.loadPixmap("./img/sysButton/main_menu.png") self.min_button.loadPixmap("./img/sysButton/min_button.png") self.max_button.loadPixmap("./img/sysButton/max_button.png") self.close_button.loadPixmap("./img/sysButton/close_button.png") #设置功勋图标 medal_icon = QIcon("./img/contentWidget/medal.png") self.medal_button.setIcon(medal_icon) self.medal_button.setFixedSize(25, 25) self.medal_button.setIconSize(QSize(25, 25)) self.medal_button.setStyleSheet("background:transparent") #透明显示 self.connect(self.skin_button, SIGNAL("clicked()"), self, SIGNAL("showSkin()")) self.connect(self.main_menu_button, SIGNAL("clicked()"), self, SIGNAL("showMainMenu()")) self.connect(self.min_button, SIGNAL("clicked()"), self, SIGNAL("showMin()")) self.connect(self.max_button, SIGNAL("clicked()"), self, SIGNAL("showMax()")) self.connect(self.close_button, SIGNAL("clicked()"), self, SIGNAL("showClose()")) #closeWidget self, title_layout = QHBoxLayout() title_layout.addWidget(self.version_title, 0, Qt.AlignVCenter) title_layout.addStretch() title_layout.addWidget(self.medal_button, 0, Qt.AlignTop) title_layout.addWidget(self.skin_button, 0, Qt.AlignTop) title_layout.addWidget(self.main_menu_button, 0, Qt.AlignTop) title_layout.addWidget(self.min_button, 0, Qt.AlignTop) title_layout.addWidget(self.max_button, 0, Qt.AlignTop) title_layout.addWidget(self.close_button, 0, Qt.AlignTop) title_layout.setSpacing(0) title_layout.setContentsMargins(0, 0, 5, 0) self.version_title.setContentsMargins(15, 0, 0, 0) self.skin_button.setContentsMargins(0, 0, 10, 0) #string_list = QStringList string_list = ["./img/toolWidget/tiJian.png", "./img/toolWidget/muMa.png", "./img/toolWidget/louDong.png", \ "./img/toolWidget/xiTong.png", "./img/toolWidget/qingLi.png", "./img/toolWidget/jiaSu.png", \ "./img/toolWidget/menZhen.png", "./img/toolWidget/ruanJian.png"] button_layout = QHBoxLayout() #还不知道怎么用 signal_mapper = QSignalMapper(self) for i in range(len(string_list)): self.tool_button = ToolButton(string_list[i]) #self.tool_button.setParent() self.button_list.append(self.tool_button) self.connect(self.tool_button, SIGNAL("clicked()"), signal_mapper, SLOT("map()")) signal_mapper.setMapping(self.tool_button, QString.number(i, 10)) button_layout.addWidget(self.tool_button, 0, Qt.AlignBottom) self.connect(signal_mapper, SIGNAL("mapped()"), self, SLOT("turnPage()")) logo_label = QLabel() pixmap = QPixmap("./img/logo.png") logo_label.setPixmap(pixmap) logo_label.setFixedSize(pixmap.size()) logo_label.setCursor(Qt.PointingHandCursor) button_layout.addStretch() button_layout.addWidget(logo_label) button_layout.setSpacing(8) button_layout.setContentsMargins(15, 0, 0, 0) main_layout = QVBoxLayout() main_layout.addLayout(title_layout) main_layout.addLayout(button_layout) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.translateLanguage() self.setLayout(main_layout) self.setFixedHeight(100) self.is_move = False def translateLanguage(self): self.version_title.setText(u"360 safe gurd 9.2") self.skin_button.setToolTip(u"change skin") self.main_menu_button.setToolTip(u"main menu") self.min_button.setToolTip(u"minimize") self.max_button.setToolTip(u"maximize") self.close_button.setToolTip(u"close") self.button_list[0].setText(u"power") self.button_list[1].setText(u"mummy") self.button_list[2].setText(u"hole") self.button_list[3].setText(u"repair") self.button_list[4].setText(u"clear") self.button_list[5].setText(u"optimize") self.button_list[6].setText(u"expert") self.button_list[7].setText(u"software") #如果不用QApplication.winEvent方法,就要启动以下代码 # def mousePressEvent(self, e): # self.press_point = e.pos() # self.is_move = True # # #已修复无法移动的问题 # def mouseMoveEvent(self, e): # if e.buttons() == Qt.LeftButton and self.is_move: # parent_widget = self.parentWidget() # if parent_widget: # parent_point = QPoint() # parent_point = parent_widget.pos() # # parent_point.setX(parent_point.x() + e.x() - self.press_point.x()) # parent_point.setY(parent_point.y() + e.y() - self.press_point.y()) # parent_widget.move(parent_point) # # def mouseReleaseEvent(self, event): # if self.is_move: # self.is_move = False #使用winEvent方法,不建议用doubleclick来放大缩小 # def mouseDoubleClickEvent(self, e): # self.emit(SIGNAL("showMax()")) @pyqtSlot() def turnPage(self, current_page): current_index = current_page for i in range(len(self.button_list)): self.tool_button = self.button_list[i] if (current_index == i): self.tool_button.setMousePress(True) else: self.tool_button.setMousePress(False)
class Ui_Dialog(QtGui.QDialog): def __init__(self, parent = None): super(Ui_Dialog, self).__init__(parent) self.config = {} with open('settings.json') as jsonfile: self.config = json.load(jsonfile) self.setupUi(self) self.retranslateUi(self) self.mouse_press = False self.is_change = False self.setWindowFlags(Qt.FramelessWindowHint | Qt.Dialog | Qt.WindowStaysOnTopHint) self.initTitle() def initTitle(self): self.title_label = QLabel(self) self.title_icon_label = QLabel(self) self.close_button = PushButton(self) self.close_button.loadPixmap("./sys/img/close_button.png") self.title_label.setFixedHeight(30) self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) self.title_layout.setSpacing(5) self.title_layout.setContentsMargins(10, 0, 5, 0) self.initTitle self.title_label.setStyleSheet("color:white") self.connect(self.close_button, SIGNAL("clicked()"), SLOT("close()")) def paintEvent(self,event): if(~self.is_change): pass self.skin_name = QString("./sys/img/mbg.png") painter = QPainter (self) painter.drawPixmap(self.rect(), QPixmap(self.skin_name)) painter2 = QPainter (self) linear2 = QLinearGradient(QPointF(self.rect().topLeft()), QPointF(self.rect().bottomLeft())) linear2.setColorAt(0, Qt.white) linear2.setColorAt(0.5, Qt.white) linear2.setColorAt(1, Qt.white) painter2.setPen(Qt.white) #设定画笔颜色,到时侯就是边框颜色 painter2.setBrush(linear2) painter2.drawRect(QRect(0, 30, self.width(), self.height()-30)) painter3 = QPainter (self) painter3.setPen(Qt.gray) painter3.drawPolyline(QPointF(0, 30), QPointF(0, self.height()-1), QPointF(self.width()-1, self.height()-1), QPointF(self.width()-1, 30)) def mousePressEvent(self,event ): if(event.button() == Qt.LeftButton): self.mouse_press = True self.move_point = event.globalPos() - self.pos() def mouseReleaseEvent(self,event): self.mouse_press = False def mouseMoveEvent(self,event): if(self.mouse_press): self.move_pos = event.globalPos() self.move(self.move_pos - self.move_point) def setupUi(self, Dialog): Dialog.setObjectName(_fromUtf8("Dialog")) Dialog.resize(400, 300) self.buttonBox = QtGui.QDialogButtonBox(Dialog) self.buttonBox.setGeometry(QtCore.QRect(30, 250, 341, 32)) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.saveDirLabel = QtGui.QLabel(Dialog) self.saveDirLabel.setGeometry(QtCore.QRect(10, 40, 71, 16)) self.saveDirLabel.setObjectName(_fromUtf8("saveDirLabel")) self.hposCountLabel = QtGui.QLabel(Dialog) self.hposCountLabel.setGeometry(QtCore.QRect(10, 70, 91, 16)) self.hposCountLabel.setObjectName(_fromUtf8("hposCountLabel")) self.vposCountLabel = QtGui.QLabel(Dialog) self.vposCountLabel.setGeometry(QtCore.QRect(10, 100, 91, 16)) self.vposCountLabel.setObjectName(_fromUtf8("vposCountLabel")) self.lockEyes = QtGui.QCheckBox(Dialog) self.lockEyes.setGeometry(QtCore.QRect(10, 130, 71, 16)) self.lockEyes.setObjectName(_fromUtf8("lockEyes")) self.hposCount = QtGui.QSlider(Dialog) self.hposCount.setGeometry(QtCore.QRect(90, 70, 250, 20)) self.hposCount.setOrientation(QtCore.Qt.Horizontal) self.hposCount.setObjectName(_fromUtf8("hposCount")) self.hposCount.setRange(2, 80) self.vposCount = QtGui.QSlider(Dialog) self.vposCount.setGeometry(QtCore.QRect(90, 100, 250, 20)) self.vposCount.setOrientation(QtCore.Qt.Horizontal) self.vposCount.setObjectName(_fromUtf8("hposCount")) self.vposCount.setRange(2, 80) self.hposCountLcd = QtGui.QLineEdit(Dialog) self.hposCountLcd.setGeometry(QtCore.QRect(350, 70, 40, 20)) self.vposCountLcd = QtGui.QLineEdit(Dialog) self.vposCountLcd.setGeometry(QtCore.QRect(350, 100, 40, 20)) self.saveDir = QtGui.QLineEdit(Dialog) self.saveDir.setGeometry(QtCore.QRect(90, 40, 221, 20)) self.saveDir.setObjectName(_fromUtf8("saveDir")) self.chooseSaveDir = QtGui.QPushButton(Dialog) self.chooseSaveDir.setGeometry(QtCore.QRect(320, 40, 75, 23)) self.chooseSaveDir.setObjectName(_fromUtf8("chooseSaveDir")) self.retranslateUi(Dialog) self.connect(self.hposCount, QtCore.SIGNAL("valueChanged(int)"),self.hposCountChange) self.connect(self.vposCount, QtCore.SIGNAL("valueChanged(int)"),self.vposCountChange) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject) QtCore.QMetaObject.connectSlotsByName(Dialog) self.connect(self.chooseSaveDir,QtCore.SIGNAL("clicked()"),self.chooseDir) self.connect(self.buttonBox, QtCore.SIGNAL("accepted()"),self.ok) self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"),self.cancel) self.flashValue() def retranslateUi(self, Dialog): Dialog.setWindowTitle(_translate("Dialog", "设置", None)) self.saveDirLabel.setText(_translate("Dialog", "图片存放路径", None)) self.hposCountLabel.setText(_translate("Dialog", "水平坐标数量", None)) self.vposCountLabel.setText(_translate("Dialog", "垂直坐标数量", None)) self.lockEyes.setText(_translate("Dialog", "瞳孔锁定", None)) self.chooseSaveDir.setText(_translate("Dialog", "选择路径", None)) def ok(self): hpcount = unicode(self.hposCount.value()) vpcount = unicode(self.vposCount.value()) if hpcount.isdigit(): self.config['hposcount'] = hpcount if vpcount.isdigit(): self.config['vposcount'] = vpcount self.config['lockeyes'] = self.lockEyes.isChecked() self.config['savedir'] = str(self.saveDir.text()) with open('settings.json','w') as settings: json.dump(self.config, settings) with open('settings.json') as jsonfile: self.config = json.load(jsonfile) def cancel(self): self.flashValue() def chooseDir(self): dirname = unicode(self.showFileDialog()) self.saveDir.setText(dirname) def showFileDialog(self): savedir = QtGui.QFileDialog.getExistingDirectory(self,u'选择图片保存目录','./') return savedir def hposCountChange(self): value = self.hposCount.value() self.hposCountLcd.setText(str(value)) def vposCountChange(self): value = self.vposCount.value() self.vposCountLcd.setText(str(value)) def flashValue(self): self.saveDir.setText(self.config['savedir']) self.hposCount.setValue(int(self.config['hposcount'])) self.vposCount.setValue(int(self.config['vposcount'])) self.lockEyes.setChecked(self.config['lockeyes'])
def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.skin_button = PushButton(self) self.main_menu_button = PushButton(self) self.min_button = PushButton(self) self.max_button = PushButton(self) self.close_button = PushButton(self) self.medal_button = QPushButton(self) self.button_list = [] #版本标题颜色设置 self.version_title = QLabel() self.version_title.setStyleSheet("color:white") #设置按钮的图片 self.skin_button.loadPixmap("./img/sysButton/skin_button.png") self.main_menu_button.loadPixmap("./img/sysButton/main_menu.png") self.min_button.loadPixmap("./img/sysButton/min_button.png") self.max_button.loadPixmap("./img/sysButton/max_button.png") self.close_button.loadPixmap("./img/sysButton/close_button.png") #设置功勋图标 medal_icon = QIcon ("./img/contentWidget/medal.png") self.medal_button.setIcon(medal_icon) self.medal_button.setFixedSize(25, 25) self.medal_button.setIconSize(QSize(25, 25)) self.medal_button.setStyleSheet("background:transparent") #透明显示 self.connect(self.skin_button, SIGNAL("clicked()"), self, SIGNAL("showSkin()")) self.connect(self.main_menu_button, SIGNAL("clicked()"), self, SIGNAL("showMainMenu()")) self.connect(self.min_button, SIGNAL("clicked()"), self, SIGNAL("showMin()")) self.connect(self.max_button, SIGNAL("clicked()"), self, SIGNAL("showMax()")) self.connect(self.close_button, SIGNAL("clicked()"), self, SIGNAL("showClose()")) #closeWidget self, title_layout = QHBoxLayout() title_layout.addWidget(self.version_title, 0, Qt.AlignVCenter) title_layout.addStretch() title_layout.addWidget(self.medal_button, 0, Qt.AlignTop) title_layout.addWidget(self.skin_button, 0, Qt.AlignTop) title_layout.addWidget(self.main_menu_button, 0, Qt.AlignTop) title_layout.addWidget(self.min_button, 0, Qt.AlignTop) title_layout.addWidget(self.max_button, 0, Qt.AlignTop) title_layout.addWidget(self.close_button, 0, Qt.AlignTop) title_layout.setSpacing(0) title_layout.setContentsMargins(0, 0, 5, 0) self.version_title.setContentsMargins(15, 0, 0, 0) self.skin_button.setContentsMargins(0, 0, 10, 0) #string_list = QStringList string_list = ["./img/toolWidget/tiJian.png", "./img/toolWidget/muMa.png", "./img/toolWidget/louDong.png", \ "./img/toolWidget/xiTong.png", "./img/toolWidget/qingLi.png", "./img/toolWidget/jiaSu.png", \ "./img/toolWidget/menZhen.png", "./img/toolWidget/ruanJian.png"] button_layout = QHBoxLayout() #还不知道怎么用 signal_mapper = QSignalMapper(self) for i in range(len(string_list)): self.tool_button = ToolButton(string_list[i]) #self.tool_button.setParent() self.button_list.append(self.tool_button) self.connect(self.tool_button, SIGNAL("clicked()"), signal_mapper, SLOT("map()")) signal_mapper.setMapping(self.tool_button, QString.number(i, 10)) button_layout.addWidget(self.tool_button, 0, Qt.AlignBottom) self.connect(signal_mapper, SIGNAL("mapped()"), self, SLOT("turnPage()")) logo_label = QLabel() pixmap = QPixmap ("./img/logo.png") logo_label.setPixmap(pixmap) logo_label.setFixedSize(pixmap.size()) logo_label.setCursor(Qt.PointingHandCursor) button_layout.addStretch() button_layout.addWidget(logo_label) button_layout.setSpacing(8) button_layout.setContentsMargins(15, 0, 0, 0) main_layout = QVBoxLayout() main_layout.addLayout(title_layout) main_layout.addLayout(button_layout) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.translateLanguage() self.setLayout(main_layout) self.setFixedHeight(100) self.is_move = False
class TitleWidget(QWidget): def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.skin_button = PushButton(self) self.main_menu_button = PushButton(self) self.min_button = PushButton(self) self.max_button = PushButton(self) self.close_button = PushButton(self) self.medal_button = QPushButton(self) self.button_list = [] #版本标题颜色设置 self.version_title = QLabel() self.version_title.setStyleSheet("color:white") #设置按钮的图片 self.skin_button.loadPixmap("./img/sysButton/skin_button.png") self.main_menu_button.loadPixmap("./img/sysButton/main_menu.png") self.min_button.loadPixmap("./img/sysButton/min_button.png") self.max_button.loadPixmap("./img/sysButton/max_button.png") self.close_button.loadPixmap("./img/sysButton/close_button.png") #设置功勋图标 medal_icon = QIcon ("./img/contentWidget/medal.png") self.medal_button.setIcon(medal_icon) self.medal_button.setFixedSize(25, 25) self.medal_button.setIconSize(QSize(25, 25)) self.medal_button.setStyleSheet("background:transparent") #透明显示 self.connect(self.skin_button, SIGNAL("clicked()"), self, SIGNAL("showSkin()")) self.connect(self.main_menu_button, SIGNAL("clicked()"), self, SIGNAL("showMainMenu()")) self.connect(self.min_button, SIGNAL("clicked()"), self, SIGNAL("showMin()")) self.connect(self.max_button, SIGNAL("clicked()"), self, SIGNAL("showMax()")) self.connect(self.close_button, SIGNAL("clicked()"), self, SIGNAL("showClose()")) #closeWidget self, title_layout = QHBoxLayout() title_layout.addWidget(self.version_title, 0, Qt.AlignVCenter) title_layout.addStretch() title_layout.addWidget(self.medal_button, 0, Qt.AlignTop) title_layout.addWidget(self.skin_button, 0, Qt.AlignTop) title_layout.addWidget(self.main_menu_button, 0, Qt.AlignTop) title_layout.addWidget(self.min_button, 0, Qt.AlignTop) title_layout.addWidget(self.max_button, 0, Qt.AlignTop) title_layout.addWidget(self.close_button, 0, Qt.AlignTop) title_layout.setSpacing(0) title_layout.setContentsMargins(0, 0, 5, 0) self.version_title.setContentsMargins(15, 0, 0, 0) self.skin_button.setContentsMargins(0, 0, 10, 0) #string_list = QStringList string_list = ["./img/toolWidget/tiJian.png", "./img/toolWidget/muMa.png", "./img/toolWidget/louDong.png", \ "./img/toolWidget/xiTong.png", "./img/toolWidget/qingLi.png", "./img/toolWidget/jiaSu.png", \ "./img/toolWidget/menZhen.png", "./img/toolWidget/ruanJian.png"] button_layout = QHBoxLayout() #还不知道怎么用 signal_mapper = QSignalMapper(self) for i in range(len(string_list)): self.tool_button = ToolButton(string_list[i]) #self.tool_button.setParent() self.button_list.append(self.tool_button) self.connect(self.tool_button, SIGNAL("clicked()"), signal_mapper, SLOT("map()")) signal_mapper.setMapping(self.tool_button, QString.number(i, 10)) button_layout.addWidget(self.tool_button, 0, Qt.AlignBottom) self.connect(signal_mapper, SIGNAL("mapped()"), self, SLOT("turnPage()")) logo_label = QLabel() pixmap = QPixmap ("./img/logo.png") logo_label.setPixmap(pixmap) logo_label.setFixedSize(pixmap.size()) logo_label.setCursor(Qt.PointingHandCursor) button_layout.addStretch() button_layout.addWidget(logo_label) button_layout.setSpacing(8) button_layout.setContentsMargins(15, 0, 0, 0) main_layout = QVBoxLayout() main_layout.addLayout(title_layout) main_layout.addLayout(button_layout) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.translateLanguage() self.setLayout(main_layout) self.setFixedHeight(100) self.is_move = False def translateLanguage(self): self.version_title.setText(u"360 safe gurd 9.2") self.skin_button.setToolTip(u"change skin") self.main_menu_button.setToolTip(u"main menu") self.min_button.setToolTip(u"minimize") self.max_button.setToolTip(u"maximize") self.close_button.setToolTip(u"close") self.button_list[0].setText(u"power") self.button_list[1].setText(u"mummy") self.button_list[2].setText(u"hole") self.button_list[3].setText(u"repair") self.button_list[4].setText(u"clear") self.button_list[5].setText(u"optimize") self.button_list[6].setText(u"expert") self.button_list[7].setText(u"software") #如果不用QApplication.winEvent方法,就要启动以下代码 # def mousePressEvent(self, e): # self.press_point = e.pos() # self.is_move = True # # #已修复无法移动的问题 # def mouseMoveEvent(self, e): # if e.buttons() == Qt.LeftButton and self.is_move: # parent_widget = self.parentWidget() # if parent_widget: # parent_point = QPoint() # parent_point = parent_widget.pos() # # parent_point.setX(parent_point.x() + e.x() - self.press_point.x()) # parent_point.setY(parent_point.y() + e.y() - self.press_point.y()) # parent_widget.move(parent_point) # # def mouseReleaseEvent(self, event): # if self.is_move: # self.is_move = False #使用winEvent方法,不建议用doubleclick来放大缩小 # def mouseDoubleClickEvent(self, e): # self.emit(SIGNAL("showMax()")) @pyqtSlot() def turnPage(self, current_page): current_index = current_page for i in range(len(self.button_list)): self.tool_button = self.button_list[i] if(current_index == i): self.tool_button.setMousePress(True) else: self.tool_button.setMousePress(False)
def __init__(self, parent=None): super(AboutUsDialog, self).__init__(parent) self.title_label = QLabel(self) self.title_label.setFixedHeight(30) self.title_label.setStyleSheet("color:white") self.title_icon_label = QLabel(self) self.title_icon_label.setPixmap(QPixmap("./img/safe.ico")) self.title_icon_label.setFixedSize(16, 16) self.title_icon_label.setScaledContents(True) self.close_button = PushButton() self.close_button.loadPixmap("./img/sysButton/close.png") self.title_info_label = QLabel(self) self.title_info_label.setStyleSheet("color:rgb(30,170,60)") self.title_info_label.setFont(QFont("微软雅黑", 14, QFont.Bold, False)) self.info_label = QLabel(self) self.info_label.setContentsMargins(0, 0, 0, 40) self.info_label.setStyleSheet("color:rgb(30,170,60)") self.info_label.setFont(QFont("微软雅黑", 10, QFont.Bold, False)) self.info_label.setContentsMargins(0, 0, 0, 40) self.version_label = QLabel(self) self.mummy_label = QLabel(self) self.copyright_label = QLabel(self) self.copyright_label.setStyleSheet("color:gray") self.icon_label = QLabel(self) self.pixmap = QPixmap ("./img/360safe.png") self.icon_label.setPixmap(self.pixmap) self.icon_label.setFixedSize(self.pixmap.size()) self.ok_button = QPushButton(self) self.ok_button.setFixedSize(75, 25) self.ok_button.setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230)}" "QPushButton:hover{border-color:green;background:transparent}") self.setWindowFlags(Qt.FramelessWindowHint | Qt.Dialog) #布局标题 self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() #平均 self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) #布局信息列表 self.v1_layout = QVBoxLayout() self.v1_layout.addWidget(self.title_info_label) self.v1_layout.addWidget(self.info_label) self.v1_layout.setSpacing(10) self.v2_layout = QVBoxLayout() self.v2_layout.addWidget(self.version_label) self.v2_layout.addWidget(self.mummy_label) self.v2_layout.addWidget(self.copyright_label) self.v2_layout.setSpacing(10) self.v_layout = QVBoxLayout() self.v_layout.addLayout(self.v1_layout) self.v_layout.addLayout(self.v2_layout) self.v_layout.addStretch() #平均分配 self.v_layout.setSpacing(50) self.v_layout.setContentsMargins(0, 15, 0, 0) #设置距离边界的值 #布局地下配置 self.bottom_layout = QHBoxLayout() self.bottom_layout.addStretch() self.bottom_layout.addWidget(self.ok_button) self.bottom_layout.setSpacing(0) self.bottom_layout.setContentsMargins(0, 0, 30, 20) self.h_layout = QHBoxLayout() self.h_layout.addLayout(self.v_layout) self.h_layout.addWidget(self.icon_label) self.h_layout.setSpacing(0) self.h_layout.setContentsMargins(40, 0, 20, 10) self.main_layout = QVBoxLayout() self.main_layout.addLayout(self.title_layout) self.main_layout.addStretch() self.main_layout.addLayout(self.h_layout) self.main_layout.addLayout(self.bottom_layout) self.main_layout.setSpacing(0) self.main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(self.main_layout) self.title_layout.setSpacing(0) self.title_layout.setContentsMargins(10, 0, 5, 0) self.translateLanguage() self.resize(520, 290) self.connect(self.ok_button, SIGNAL("clicked()"), self, SLOT("hide()")) self.connect(self.close_button, SIGNAL("clicked()"), self, SLOT("close()"))
class AboutUsDialog(QDialog): def __init__(self, parent=None): super(AboutUsDialog, self).__init__(parent) self.title_label = QLabel(self) self.title_label.setFixedHeight(30) self.title_label.setStyleSheet("color:white") self.title_icon_label = QLabel(self) self.title_icon_label.setPixmap(QPixmap("./img/safe.ico")) self.title_icon_label.setFixedSize(16, 16) self.title_icon_label.setScaledContents(True) self.close_button = PushButton() self.close_button.loadPixmap("./img/sysButton/close.png") self.title_info_label = QLabel(self) self.title_info_label.setStyleSheet("color:rgb(30,170,60)") self.title_info_label.setFont(QFont("微软雅黑", 14, QFont.Bold, False)) self.info_label = QLabel(self) self.info_label.setContentsMargins(0, 0, 0, 40) self.info_label.setStyleSheet("color:rgb(30,170,60)") self.info_label.setFont(QFont("微软雅黑", 10, QFont.Bold, False)) self.info_label.setContentsMargins(0, 0, 0, 40) self.version_label = QLabel(self) self.mummy_label = QLabel(self) self.copyright_label = QLabel(self) self.copyright_label.setStyleSheet("color:gray") self.icon_label = QLabel(self) self.pixmap = QPixmap ("./img/360safe.png") self.icon_label.setPixmap(self.pixmap) self.icon_label.setFixedSize(self.pixmap.size()) self.ok_button = QPushButton(self) self.ok_button.setFixedSize(75, 25) self.ok_button.setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230)}" "QPushButton:hover{border-color:green;background:transparent}") self.setWindowFlags(Qt.FramelessWindowHint | Qt.Dialog) #布局标题 self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() #平均 self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) #布局信息列表 self.v1_layout = QVBoxLayout() self.v1_layout.addWidget(self.title_info_label) self.v1_layout.addWidget(self.info_label) self.v1_layout.setSpacing(10) self.v2_layout = QVBoxLayout() self.v2_layout.addWidget(self.version_label) self.v2_layout.addWidget(self.mummy_label) self.v2_layout.addWidget(self.copyright_label) self.v2_layout.setSpacing(10) self.v_layout = QVBoxLayout() self.v_layout.addLayout(self.v1_layout) self.v_layout.addLayout(self.v2_layout) self.v_layout.addStretch() #平均分配 self.v_layout.setSpacing(50) self.v_layout.setContentsMargins(0, 15, 0, 0) #设置距离边界的值 #布局地下配置 self.bottom_layout = QHBoxLayout() self.bottom_layout.addStretch() self.bottom_layout.addWidget(self.ok_button) self.bottom_layout.setSpacing(0) self.bottom_layout.setContentsMargins(0, 0, 30, 20) self.h_layout = QHBoxLayout() self.h_layout.addLayout(self.v_layout) self.h_layout.addWidget(self.icon_label) self.h_layout.setSpacing(0) self.h_layout.setContentsMargins(40, 0, 20, 10) self.main_layout = QVBoxLayout() self.main_layout.addLayout(self.title_layout) self.main_layout.addStretch() self.main_layout.addLayout(self.h_layout) self.main_layout.addLayout(self.bottom_layout) self.main_layout.setSpacing(0) self.main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(self.main_layout) self.title_layout.setSpacing(0) self.title_layout.setContentsMargins(10, 0, 5, 0) self.translateLanguage() self.resize(520, 290) self.connect(self.ok_button, SIGNAL("clicked()"), self, SLOT("hide()")) self.connect(self.close_button, SIGNAL("clicked()"), self, SLOT("close()")) def paintEvent(self, event): self.painter = QPainter() self.painter.begin(self) self.painter.drawPixmap(self.rect(), QPixmap("./img/skin/17_big.png")) self.painter.end() linear2 = QLinearGradient(QPoint(self.rect().topLeft()), QPoint(self.rect().bottomLeft())) linear2.start() linear2.setColorAt(0, Qt.white) linear2.setColorAt(0.5, Qt.white) linear2.setColorAt(1, Qt.white) linear2.finalStop() self.painter2 = QPainter() self.painter2.begin(self) self.painter2.setPen(Qt.white) #设定画笔颜色,到时侯就是边框颜色 self.painter2.setBrush(linear2); self.painter2.drawRect(QRect(0, 30, self.width(), self.height() - 30)); self.painter2.end() self.painter3 = QPainter() self.painter3.begin(self) self.painter3.setPen(Qt.gray) self.painter3.drawPolyline(QPointF(0, 30), QPointF(0, self.height() - 1), QPointF(self.width() - 1, self.height() - 1), QPointF(self.width() - 1, 30)) self.painter3.end() def translateLanguage(self): self.title_label.setText(u"360安全卫士") self.title_info_label.setText(u"360安全卫士") self.info_label.setText(u"杀木马 防盗号 电脑加速") self.version_label.setText(u"主程序版本:9.1.0.2002") self.mummy_label.setText(u"备用木马库:2013-8-19") self.copyright_label.setText(u"Copyright(c) 360.cn Inc.All Rights Reserved.") #self.close_button.setToolTip(self.tr("close")) self.ok_button.setText(u"确定") def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.dragPosition = event.globalPos() - self.frameGeometry().topLeft() QApplication.postEvent(self, QEvent(174)) event.accept() def mouseMoveEvent(self, event): if event.buttons() == Qt.LeftButton: self.move(event.globalPos() - self.dragPosition) event.accept() def isInTitle(self, xPos, yPos): return yPos < 30 and xPos < 456
class SettingDialog(QDialog): def __init__(self, parent = None): super(SettingDialog,self).__init__() self.resize(560, 400) self.setWindowFlags(Qt.FramelessWindowHint | Qt.Dialog) self.initTitle() self.initCenter() self.initTab1() self.initTab2() self.initTab3() self.initTab4() self.initTab5() self.initTab6() self.initBottom() main_layout = QVBoxLayout() main_layout.addLayout(self.title_layout) main_layout.addWidget(self.tab_widget) main_layout.addLayout(self.bottom_layout) main_layout.addStretch() main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(main_layout) self.mouse_press = False self.translateLanguage() def initTitle(self): self.title_label = QLabel() self.title_icon_label = QLabel() self.close_button = PushButton() self.close_button.loadPixmap("./img/sysButton/close.png") self.title_label.setStyleSheet("color:white") pixmap = QPixmap ("./img/safe") self.title_icon_label.setPixmap(pixmap) self.title_icon_label.setFixedSize(16, 16) self.title_icon_label.setScaledContents(True) self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) self.title_layout.setSpacing(5) self.title_layout.setContentsMargins(10, 0, 5, 10) self.connect(self.close_button, SIGNAL("clicked()"), self, SLOT("close()")) def initTab1(self): self.tab1_group_box = QGroupBox() self.auto_rise_button = QRadioButton() self.not_auto_rise_button = QRadioButton() self.rise_mummy_check_box = QCheckBox() self.game_check_box = QCheckBox() self.g3_check_box = QCheckBox() self.p2p_check_box = QCheckBox() self.mummy_check_box = QCheckBox() self.tab1_group_box.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() #self.tab1_group_box.setFont() group_box_font.setBold(True) self.tab1_group_box.setFont(group_box_font) self.tab1_group_box.setFixedSize(480, 250) rise_mummy_layout = QHBoxLayout() rise_mummy_layout.addWidget(self.rise_mummy_check_box) rise_mummy_layout.setSpacing(0) rise_mummy_layout.setContentsMargins(20, 0, 0, 0) group_layout = QVBoxLayout() group_layout.addWidget(self.auto_rise_button) group_layout.addWidget(self.not_auto_rise_button) group_layout.addLayout(rise_mummy_layout) group_layout.addWidget(self.game_check_box) group_layout.addWidget(self.g3_check_box) group_layout.addWidget(self.p2p_check_box) group_layout.addWidget(self.mummy_check_box) group_layout.setSpacing(0) group_layout.setContentsMargins(30, 0, 0, 0) self.tab1_group_box.setLayout(group_layout) tab1_layout = QHBoxLayout() tab1_layout.addWidget(self.tab1_group_box) tab1_layout.setSpacing(0) tab1_layout.setContentsMargins(0, 0, 0, 0) self.tab1.setLayout(tab1_layout) def initTab2(self): self.tab2_group_box1 = QGroupBox() self.tab2_group_box2 = QGroupBox() self.tab2_group_box3 = QGroupBox() self.auto_start_check_box = QCheckBox() self.remove_own_check_box = QCheckBox() self.strong_remove_check_box = QCheckBox() self.mummy_kill_check_box = QCheckBox() self.display_count_check_box = QCheckBox() self.tab2_group_box1.setStyleSheet("QGroupBox.title{color:green}") self.tab2_group_box2.setStyleSheet("QGroupBox.title{color:green}") self.tab2_group_box3.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() # = self.tab2_group_box1.font() group_box_font.setBold(True) self.tab2_group_box1.setFont(group_box_font) self.tab2_group_box2.setFont(group_box_font) self.tab2_group_box3.setFont(group_box_font) group_box1_layout = QHBoxLayout() group_box1_layout.addWidget(self.auto_start_check_box) group_box1_layout.setSpacing(0) group_box1_layout.setContentsMargins(30, 0, 0, 0) self.tab2_group_box1.setLayout(group_box1_layout) group_box2_layout = QVBoxLayout() group_box2_layout.addWidget(self.remove_own_check_box) group_box2_layout.addWidget(self.strong_remove_check_box) group_box2_layout.addWidget(self.mummy_kill_check_box) group_box2_layout.setSpacing(0) group_box2_layout.setContentsMargins(30, 0, 0, 0) self.tab2_group_box2.setLayout(group_box2_layout) group_box3_layout = QHBoxLayout() group_box3_layout.addWidget(self.display_count_check_box) group_box3_layout.setSpacing(0) group_box3_layout.setContentsMargins(30, 0, 0, 0) self.tab2_group_box3.setLayout(group_box3_layout) self.tab2_group_box1.setFixedSize(480, 60) self.tab2_group_box2.setFixedSize(480, 110) self.tab2_group_box3.setFixedSize(480, 60) group_layout = QVBoxLayout() group_layout.addWidget(self.tab2_group_box1, 0, Qt.AlignCenter) group_layout.addWidget(self.tab2_group_box2, 0, Qt.AlignCenter) group_layout.addWidget(self.tab2_group_box3, 0, Qt.AlignCenter) group_layout.addStretch() group_layout.setSpacing(10) group_layout.setContentsMargins(0, 20, 0, 0) self.tab2.setLayout(group_layout) def initTab3(self): self.tab3_group_box1 = QGroupBox() self.tab3_group_box2 = QGroupBox() self.auto_check_button = QRadioButton() self.first_check_button = QRadioButton() self.hand_check_button = QRadioButton() self.select_quit_button = QRadioButton() self.backstage_mode_button = QRadioButton() self.immediacy_close_button = QRadioButton() self.tab3_group_box1.setStyleSheet("QGroupBox.title{color:green}") self.tab3_group_box2.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont()# = self.tab3_group_box1.font() group_box_font.setBold(True) self.tab3_group_box1.setFont(group_box_font) self.tab3_group_box2.setFont(group_box_font) group_box1_layout = QVBoxLayout() group_box1_layout.addWidget(self.auto_check_button) group_box1_layout.addWidget(self.first_check_button) group_box1_layout.addWidget(self.hand_check_button) group_box1_layout.setSpacing(0) group_box1_layout.setContentsMargins(30, 0, 0, 0) self.tab3_group_box1.setLayout(group_box1_layout) group_box2_layout = QVBoxLayout() group_box2_layout.addWidget(self.select_quit_button) group_box2_layout.addWidget(self.backstage_mode_button) group_box2_layout.addWidget(self.immediacy_close_button) group_box2_layout.setSpacing(0) group_box2_layout.setContentsMargins(30, 0, 0, 0) self.tab3_group_box2.setLayout(group_box2_layout) self.tab3_group_box1.setFixedSize(480, 120) self.tab3_group_box2.setFixedSize(480, 120) group_layout = QVBoxLayout() group_layout.addWidget(self.tab3_group_box1, 0, Qt.AlignCenter) group_layout.addWidget(self.tab3_group_box2, 0, Qt.AlignCenter) group_layout.addStretch() group_layout.setSpacing(10) group_layout.setContentsMargins(0, 20, 0, 0) self.tab3.setLayout(group_layout) def initTab4(self): self.tab4_group_box = QGroupBox() self.diaplay_experience_check_box = QCheckBox() self.diaplay_experience_check_box = QCheckBox() self.tray_quit_check_box = QCheckBox() self._character_check_box = QCheckBox() self.rise_remind_check_box = QCheckBox() self.tab4_group_box.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont()# = self.tab4_group_box.font() group_box_font.setBold(True) self.tab4_group_box.setFont(group_box_font) self.tab4_group_box.setFixedSize(480, 180) group_layout = QVBoxLayout() group_layout.addWidget(self.diaplay_experience_check_box) group_layout.addWidget(self.diaplay_experience_check_box) group_layout.addWidget(self.tray_quit_check_box) group_layout.addWidget(self._character_check_box) group_layout.addWidget(self.rise_remind_check_box) group_layout.setSpacing(0) group_layout.setContentsMargins(30, 0, 0, 0) self.tab4_group_box.setLayout(group_layout) tab4_layout = QVBoxLayout() tab4_layout.addWidget(self.tab4_group_box, 0 , Qt.AlignCenter) tab4_layout.addStretch() tab4_layout.setSpacing(0) tab4_layout.setContentsMargins(0, 20, 0, 0) self.tab4.setLayout(tab4_layout) def initTab5(self): self.tab5_group_box = QGroupBox() self.improve_plan_check_box = QCheckBox() self.understand_detail_button = QPushButton() self.tab5_group_box.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() #= self.tab5_group_box.font() group_box_font.setBold(True) self.tab5_group_box.setFont(group_box_font) self.tab5_group_box.setFixedSize(480, 60) self.understand_detail_button.setFixedSize(180, 25) self.understand_detail_button.setCursor(Qt.PointingHandCursor) #解决无法parse self.understand_detail_button.setStyleSheet("color:rgb(0, 120, 230);background:transparent") group_layout = QHBoxLayout() group_layout.addWidget(self.improve_plan_check_box) group_layout.addStretch() group_layout.addWidget(self.understand_detail_button) group_layout.setSpacing(0) group_layout.setContentsMargins(30, 0, 30, 0) self.tab5_group_box.setLayout(group_layout) tab5_layout = QVBoxLayout() tab5_layout.addWidget(self.tab5_group_box, 0 , Qt.AlignCenter) tab5_layout.addStretch() tab5_layout.setSpacing(0) tab5_layout.setContentsMargins(0, 20, 0, 0) self.tab5.setLayout(tab5_layout) def initTab6(self): self.tab6_group_box1 = QGroupBox() self.tab6_group_box2 = QGroupBox() self.file_safe_label = QLabel() self.internet_safe_label = QLabel() self.file_safe_check_box = QCheckBox() self.internet_safe_check_box = QCheckBox() self.look_privacy_button = QPushButton() self.tab6_group_box1.setStyleSheet("QGroupBox.title{color:green}") self.tab6_group_box2.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() #= self.tab6_group_box1.font() group_box_font.setBold(True) self.tab6_group_box1.setFont(group_box_font) self.tab6_group_box2.setFont(group_box_font) self.look_privacy_button.setCursor(Qt.PointingHandCursor) #解决无法parse self.look_privacy_button.setStyleSheet("color:rgb(0, 120, 230);background:transparent") self.file_safe_label.setStyleSheet("color:gray") self.internet_safe_label.setStyleSheet("color:gray") self.file_safe_label.setFixedWidth(420) self.file_safe_label.resize(420, 25*3) self.file_safe_label.setWordWrap(True) self.internet_safe_label.setFixedWidth(420) self.internet_safe_label.resize(420, 25*3) self.internet_safe_label.setWordWrap(True) group_box1_h_layout = QHBoxLayout() group_box1_h_layout.addWidget(self.file_safe_check_box) group_box1_h_layout.addStretch() group_box1_h_layout.addWidget(self.look_privacy_button) group_box1_h_layout.setSpacing(0) group_box1_h_layout.setContentsMargins(0, 0, 30, 0) group_box1_layout = QVBoxLayout() group_box1_layout.addWidget(self.file_safe_label) group_box1_layout.addLayout(group_box1_h_layout) group_box1_layout.setSpacing(0) group_box1_layout.setContentsMargins(30, 0, 0, 10) self.tab6_group_box1.setLayout(group_box1_layout) group_box2_layout = QVBoxLayout() group_box2_layout.addWidget(self.internet_safe_label) group_box2_layout.addWidget(self.internet_safe_check_box) group_box2_layout.setSpacing(0) group_box2_layout.setContentsMargins(30, 0, 0, 10) self.tab6_group_box2.setLayout(group_box2_layout) self.tab6_group_box1.setFixedSize(480, 120) self.tab6_group_box2.setFixedSize(480, 120) group_layout = QVBoxLayout() group_layout.addWidget(self.tab6_group_box1, 0, Qt.AlignCenter) group_layout.addWidget(self.tab6_group_box2, 0, Qt.AlignCenter) group_layout.addStretch() group_layout.setSpacing(10) group_layout.setContentsMargins(0, 20, 0, 0) self.tab6.setLayout(group_layout) def initCenter(self): self.tab_widget = QTabWidget() self.tab_widget.setFixedSize(self.width(), 320) self.tab1 = QWidget() self.tab2 = QWidget() self.tab3 = QWidget() self.tab4 = QWidget() self.tab5 = QWidget() self.tab6 = QWidget() #修复样式问题 原来为QTabBar.tab,应该为QTabBar::tab self.tab_widget.setStyleSheet("QTabWidget::pane{border: 10px}" "QTabWidget::tab-bar{alignment:center}" "QTabBar::tab{background:transparent; color:white; min-width:30ex; min-height:10ex}" "QTabBar::tab:hover{background:rgb(255, 255, 255, 100)}" "QTabBar::tab:selected{border-color:white;background:white;color:green}") def initBottom(self): self.ok_button = QPushButton() self.cancel_button = QPushButton() self.ok_button.setFixedSize(75, 25) self.cancel_button.setFixedSize(75, 25) self.ok_button.setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230)}" "QPushButton:hover{border-color:green;background:transparent}") self.cancel_button.setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230)}" "QPushButton:hover{border-color:green;background:transparent}") self.bottom_layout = QHBoxLayout() self.bottom_layout.addStretch() self.bottom_layout.addWidget(self.ok_button) self.bottom_layout.addWidget(self.cancel_button) self.bottom_layout.setSpacing(20) self.bottom_layout.setContentsMargins(0, 10, 20, 0) self.connect(self.cancel_button, SIGNAL("clicked()"), self, SLOT("hide()")) def translateLanguage(self): space_str = QString(" ") #QString self.title_label.setText(u"360 safe setting") self.close_button.setToolTip(u"close") self.tab_widget.addTab(self.tab1, u"rise style") self.tab_widget.addTab(self.tab2, u"advanced setting") self.tab_widget.addTab(self.tab3, u"physical setting") self.tab_widget.addTab(self.tab4, u"user setting") self.tab_widget.addTab(self.tab5, u"improve program") self.tab_widget.addTab(self.tab6, u"cloud secure program") self.tab1_group_box.setTitle(u"rise style title") self.auto_rise_button.setText(u"auto rise") self.not_auto_rise_button.setText(u"not auto rise") self.rise_mummy_check_box.setText(u"rise mummy") self.game_check_box.setText(u"game") self.g3_check_box.setText(u"3g") self.p2p_check_box.setText(u"p2p") self.mummy_check_box.setText(u"mummy") self.tab2_group_box1.setTitle(u"mummy fireproof") self.tab2_group_box2.setTitle(u"context menu") self.tab2_group_box3.setTitle(u"software manager") self.auto_start_check_box.setText(u"auto start") self.remove_own_check_box.setText(u"remove own") self.strong_remove_check_box.setText(u"strong remove") self.mummy_kill_check_box.setText(u"mummy kill") self.display_count_check_box.setText(u"display count") self.tab3_group_box1.setTitle(u"frequency setting") self.tab3_group_box2.setTitle(u"quit style setting") self.auto_check_button.setText(u"auto check") self.first_check_button.setText(u"first check") self.hand_check_button.setText(u"hand check") self.select_quit_button.setText(u"select quit") self.backstage_mode_button.setText(u"backstage mode") self.immediacy_close_button.setText(u"immediacy close") self.tab4_group_box.setTitle(u"rate task setting") self.diaplay_experience_check_box.setText(u"diaplay experience") self.diaplay_experience_check_box.setText(u"diaplay login") self.tray_quit_check_box.setText(u"tray quit") self._character_check_box.setText(u" character") self.rise_remind_check_box.setText(u"rise remind") self.tab5_group_box.setTitle(u"improve plan") self.improve_plan_check_box.setText(u"join improve plan") self.understand_detail_button.setText(u"understand detail") self.tab6_group_box1.setTitle(u"file safe plan") self.tab6_group_box2.setTitle(u"internet safe plan") self.file_safe_label.setText(space_str + u"file safe info") self.internet_safe_label.setText(space_str + u"internet safe info") self.file_safe_check_box.setText(u"file safe") self.internet_safe_check_box.setText(u"internet safe") self.look_privacy_button.setText(u"look privacy") self.ok_button.setText(u"ok") self.cancel_button.setText(u"cancel") def paintEvent(self ,event): skin_name = QString() #bool is_read = Util.readInit(QString("./user.ini"), QString("skin"), skin_name) #if(is_read) #if(skin_name.isEmpty()) #skin_name = QString(":/skin/17_big") # #else #skin_name = QString(":/skin/17_big") painter = QPainter () painter.begin(self) painter.drawPixmap(self.rect(), QPixmap("./img/skin/17_big.jpg")) painter.end() painter2 = QPainter () painter2.begin(self) linear2 = QLinearGradient(self.rect().topLeft(), self.rect().bottomLeft()) linear2.start() linear2.setColorAt(0, Qt.white) linear2.setColorAt(0.5, Qt.white) linear2.setColorAt(1, Qt.white) linear2.finalStop() painter2.setPen(Qt.white) #设定画笔颜色,到时侯就是边框颜色 painter2.setBrush(linear2) painter2.drawRect(QRect(0, 60, self.width(), self.height()-60)) painter2.end() painter3 = QPainter() painter3.begin(self) painter3.setPen(Qt.gray) #static const QPointF points[4] = {} painter3.drawPolyline(QPointF(0, 60), QPointF(0, self.height()-1), QPointF(self.width()-1, self.height()-1), QPointF(self.width()-1, 60)) painter3.end() def mousePressEvent(self,event): if event.button() == Qt.LeftButton: self.dragPosition = event.globalPos() - self.frameGeometry().topLeft() event.accept() def mouseMoveEvent(self,event): if event.buttons() == Qt.LeftButton: self.move(event.globalPos() - self.dragPosition) event.accept()
class SettingDialog(QDialog): def __init__(self, parent=None): super(SettingDialog, self).__init__() self.resize(560, 400) self.setWindowFlags(Qt.FramelessWindowHint | Qt.Dialog) self.initTitle() self.initCenter() self.initTab1() self.initTab2() self.initTab3() self.initTab4() self.initTab5() self.initTab6() self.initBottom() main_layout = QVBoxLayout() main_layout.addLayout(self.title_layout) main_layout.addWidget(self.tab_widget) main_layout.addLayout(self.bottom_layout) main_layout.addStretch() main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(main_layout) self.mouse_press = False self.translateLanguage() def initTitle(self): self.title_label = QLabel() self.title_icon_label = QLabel() self.close_button = PushButton() self.close_button.loadPixmap("./img/sysButton/close.png") self.title_label.setStyleSheet("color:white") pixmap = QPixmap("./img/safe") self.title_icon_label.setPixmap(pixmap) self.title_icon_label.setFixedSize(16, 16) self.title_icon_label.setScaledContents(True) self.title_layout = QHBoxLayout() self.title_layout.addWidget(self.title_icon_label, 0, Qt.AlignVCenter) self.title_layout.addWidget(self.title_label, 0, Qt.AlignVCenter) self.title_layout.addStretch() self.title_layout.addWidget(self.close_button, 0, Qt.AlignTop) self.title_layout.setSpacing(5) self.title_layout.setContentsMargins(10, 0, 5, 10) self.connect(self.close_button, SIGNAL("clicked()"), self, SLOT("close()")) def initTab1(self): self.tab1_group_box = QGroupBox() self.auto_rise_button = QRadioButton() self.not_auto_rise_button = QRadioButton() self.rise_mummy_check_box = QCheckBox() self.game_check_box = QCheckBox() self.g3_check_box = QCheckBox() self.p2p_check_box = QCheckBox() self.mummy_check_box = QCheckBox() self.tab1_group_box.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() #self.tab1_group_box.setFont() group_box_font.setBold(True) self.tab1_group_box.setFont(group_box_font) self.tab1_group_box.setFixedSize(480, 250) rise_mummy_layout = QHBoxLayout() rise_mummy_layout.addWidget(self.rise_mummy_check_box) rise_mummy_layout.setSpacing(0) rise_mummy_layout.setContentsMargins(20, 0, 0, 0) group_layout = QVBoxLayout() group_layout.addWidget(self.auto_rise_button) group_layout.addWidget(self.not_auto_rise_button) group_layout.addLayout(rise_mummy_layout) group_layout.addWidget(self.game_check_box) group_layout.addWidget(self.g3_check_box) group_layout.addWidget(self.p2p_check_box) group_layout.addWidget(self.mummy_check_box) group_layout.setSpacing(0) group_layout.setContentsMargins(30, 0, 0, 0) self.tab1_group_box.setLayout(group_layout) tab1_layout = QHBoxLayout() tab1_layout.addWidget(self.tab1_group_box) tab1_layout.setSpacing(0) tab1_layout.setContentsMargins(0, 0, 0, 0) self.tab1.setLayout(tab1_layout) def initTab2(self): self.tab2_group_box1 = QGroupBox() self.tab2_group_box2 = QGroupBox() self.tab2_group_box3 = QGroupBox() self.auto_start_check_box = QCheckBox() self.remove_own_check_box = QCheckBox() self.strong_remove_check_box = QCheckBox() self.mummy_kill_check_box = QCheckBox() self.display_count_check_box = QCheckBox() self.tab2_group_box1.setStyleSheet("QGroupBox.title{color:green}") self.tab2_group_box2.setStyleSheet("QGroupBox.title{color:green}") self.tab2_group_box3.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() # = self.tab2_group_box1.font() group_box_font.setBold(True) self.tab2_group_box1.setFont(group_box_font) self.tab2_group_box2.setFont(group_box_font) self.tab2_group_box3.setFont(group_box_font) group_box1_layout = QHBoxLayout() group_box1_layout.addWidget(self.auto_start_check_box) group_box1_layout.setSpacing(0) group_box1_layout.setContentsMargins(30, 0, 0, 0) self.tab2_group_box1.setLayout(group_box1_layout) group_box2_layout = QVBoxLayout() group_box2_layout.addWidget(self.remove_own_check_box) group_box2_layout.addWidget(self.strong_remove_check_box) group_box2_layout.addWidget(self.mummy_kill_check_box) group_box2_layout.setSpacing(0) group_box2_layout.setContentsMargins(30, 0, 0, 0) self.tab2_group_box2.setLayout(group_box2_layout) group_box3_layout = QHBoxLayout() group_box3_layout.addWidget(self.display_count_check_box) group_box3_layout.setSpacing(0) group_box3_layout.setContentsMargins(30, 0, 0, 0) self.tab2_group_box3.setLayout(group_box3_layout) self.tab2_group_box1.setFixedSize(480, 60) self.tab2_group_box2.setFixedSize(480, 110) self.tab2_group_box3.setFixedSize(480, 60) group_layout = QVBoxLayout() group_layout.addWidget(self.tab2_group_box1, 0, Qt.AlignCenter) group_layout.addWidget(self.tab2_group_box2, 0, Qt.AlignCenter) group_layout.addWidget(self.tab2_group_box3, 0, Qt.AlignCenter) group_layout.addStretch() group_layout.setSpacing(10) group_layout.setContentsMargins(0, 20, 0, 0) self.tab2.setLayout(group_layout) def initTab3(self): self.tab3_group_box1 = QGroupBox() self.tab3_group_box2 = QGroupBox() self.auto_check_button = QRadioButton() self.first_check_button = QRadioButton() self.hand_check_button = QRadioButton() self.select_quit_button = QRadioButton() self.backstage_mode_button = QRadioButton() self.immediacy_close_button = QRadioButton() self.tab3_group_box1.setStyleSheet("QGroupBox.title{color:green}") self.tab3_group_box2.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() # = self.tab3_group_box1.font() group_box_font.setBold(True) self.tab3_group_box1.setFont(group_box_font) self.tab3_group_box2.setFont(group_box_font) group_box1_layout = QVBoxLayout() group_box1_layout.addWidget(self.auto_check_button) group_box1_layout.addWidget(self.first_check_button) group_box1_layout.addWidget(self.hand_check_button) group_box1_layout.setSpacing(0) group_box1_layout.setContentsMargins(30, 0, 0, 0) self.tab3_group_box1.setLayout(group_box1_layout) group_box2_layout = QVBoxLayout() group_box2_layout.addWidget(self.select_quit_button) group_box2_layout.addWidget(self.backstage_mode_button) group_box2_layout.addWidget(self.immediacy_close_button) group_box2_layout.setSpacing(0) group_box2_layout.setContentsMargins(30, 0, 0, 0) self.tab3_group_box2.setLayout(group_box2_layout) self.tab3_group_box1.setFixedSize(480, 120) self.tab3_group_box2.setFixedSize(480, 120) group_layout = QVBoxLayout() group_layout.addWidget(self.tab3_group_box1, 0, Qt.AlignCenter) group_layout.addWidget(self.tab3_group_box2, 0, Qt.AlignCenter) group_layout.addStretch() group_layout.setSpacing(10) group_layout.setContentsMargins(0, 20, 0, 0) self.tab3.setLayout(group_layout) def initTab4(self): self.tab4_group_box = QGroupBox() self.diaplay_experience_check_box = QCheckBox() self.diaplay_experience_check_box = QCheckBox() self.tray_quit_check_box = QCheckBox() self._character_check_box = QCheckBox() self.rise_remind_check_box = QCheckBox() self.tab4_group_box.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() # = self.tab4_group_box.font() group_box_font.setBold(True) self.tab4_group_box.setFont(group_box_font) self.tab4_group_box.setFixedSize(480, 180) group_layout = QVBoxLayout() group_layout.addWidget(self.diaplay_experience_check_box) group_layout.addWidget(self.diaplay_experience_check_box) group_layout.addWidget(self.tray_quit_check_box) group_layout.addWidget(self._character_check_box) group_layout.addWidget(self.rise_remind_check_box) group_layout.setSpacing(0) group_layout.setContentsMargins(30, 0, 0, 0) self.tab4_group_box.setLayout(group_layout) tab4_layout = QVBoxLayout() tab4_layout.addWidget(self.tab4_group_box, 0, Qt.AlignCenter) tab4_layout.addStretch() tab4_layout.setSpacing(0) tab4_layout.setContentsMargins(0, 20, 0, 0) self.tab4.setLayout(tab4_layout) def initTab5(self): self.tab5_group_box = QGroupBox() self.improve_plan_check_box = QCheckBox() self.understand_detail_button = QPushButton() self.tab5_group_box.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() #= self.tab5_group_box.font() group_box_font.setBold(True) self.tab5_group_box.setFont(group_box_font) self.tab5_group_box.setFixedSize(480, 60) self.understand_detail_button.setFixedSize(180, 25) self.understand_detail_button.setCursor(Qt.PointingHandCursor) #解决无法parse self.understand_detail_button.setStyleSheet( "color:rgb(0, 120, 230);background:transparent") group_layout = QHBoxLayout() group_layout.addWidget(self.improve_plan_check_box) group_layout.addStretch() group_layout.addWidget(self.understand_detail_button) group_layout.setSpacing(0) group_layout.setContentsMargins(30, 0, 30, 0) self.tab5_group_box.setLayout(group_layout) tab5_layout = QVBoxLayout() tab5_layout.addWidget(self.tab5_group_box, 0, Qt.AlignCenter) tab5_layout.addStretch() tab5_layout.setSpacing(0) tab5_layout.setContentsMargins(0, 20, 0, 0) self.tab5.setLayout(tab5_layout) def initTab6(self): self.tab6_group_box1 = QGroupBox() self.tab6_group_box2 = QGroupBox() self.file_safe_label = QLabel() self.internet_safe_label = QLabel() self.file_safe_check_box = QCheckBox() self.internet_safe_check_box = QCheckBox() self.look_privacy_button = QPushButton() self.tab6_group_box1.setStyleSheet("QGroupBox.title{color:green}") self.tab6_group_box2.setStyleSheet("QGroupBox.title{color:green}") group_box_font = QFont() #= self.tab6_group_box1.font() group_box_font.setBold(True) self.tab6_group_box1.setFont(group_box_font) self.tab6_group_box2.setFont(group_box_font) self.look_privacy_button.setCursor(Qt.PointingHandCursor) #解决无法parse self.look_privacy_button.setStyleSheet( "color:rgb(0, 120, 230);background:transparent") self.file_safe_label.setStyleSheet("color:gray") self.internet_safe_label.setStyleSheet("color:gray") self.file_safe_label.setFixedWidth(420) self.file_safe_label.resize(420, 25 * 3) self.file_safe_label.setWordWrap(True) self.internet_safe_label.setFixedWidth(420) self.internet_safe_label.resize(420, 25 * 3) self.internet_safe_label.setWordWrap(True) group_box1_h_layout = QHBoxLayout() group_box1_h_layout.addWidget(self.file_safe_check_box) group_box1_h_layout.addStretch() group_box1_h_layout.addWidget(self.look_privacy_button) group_box1_h_layout.setSpacing(0) group_box1_h_layout.setContentsMargins(0, 0, 30, 0) group_box1_layout = QVBoxLayout() group_box1_layout.addWidget(self.file_safe_label) group_box1_layout.addLayout(group_box1_h_layout) group_box1_layout.setSpacing(0) group_box1_layout.setContentsMargins(30, 0, 0, 10) self.tab6_group_box1.setLayout(group_box1_layout) group_box2_layout = QVBoxLayout() group_box2_layout.addWidget(self.internet_safe_label) group_box2_layout.addWidget(self.internet_safe_check_box) group_box2_layout.setSpacing(0) group_box2_layout.setContentsMargins(30, 0, 0, 10) self.tab6_group_box2.setLayout(group_box2_layout) self.tab6_group_box1.setFixedSize(480, 120) self.tab6_group_box2.setFixedSize(480, 120) group_layout = QVBoxLayout() group_layout.addWidget(self.tab6_group_box1, 0, Qt.AlignCenter) group_layout.addWidget(self.tab6_group_box2, 0, Qt.AlignCenter) group_layout.addStretch() group_layout.setSpacing(10) group_layout.setContentsMargins(0, 20, 0, 0) self.tab6.setLayout(group_layout) def initCenter(self): self.tab_widget = QTabWidget() self.tab_widget.setFixedSize(self.width(), 320) self.tab1 = QWidget() self.tab2 = QWidget() self.tab3 = QWidget() self.tab4 = QWidget() self.tab5 = QWidget() self.tab6 = QWidget() #修复样式问题 原来为QTabBar.tab,应该为QTabBar::tab self.tab_widget.setStyleSheet( "QTabWidget::pane{border: 10px}" "QTabWidget::tab-bar{alignment:center}" "QTabBar::tab{background:transparent; color:white; min-width:30ex; min-height:10ex}" "QTabBar::tab:hover{background:rgb(255, 255, 255, 100)}" "QTabBar::tab:selected{border-color:white;background:white;color:green}" ) def initBottom(self): self.ok_button = QPushButton() self.cancel_button = QPushButton() self.ok_button.setFixedSize(75, 25) self.cancel_button.setFixedSize(75, 25) self.ok_button.setStyleSheet( "QPushButton{border:1px solid lightgray;background:rgb(230,230,230)}" "QPushButton:hover{border-color:green;background:transparent}") self.cancel_button.setStyleSheet( "QPushButton{border:1px solid lightgray;background:rgb(230,230,230)}" "QPushButton:hover{border-color:green;background:transparent}") self.bottom_layout = QHBoxLayout() self.bottom_layout.addStretch() self.bottom_layout.addWidget(self.ok_button) self.bottom_layout.addWidget(self.cancel_button) self.bottom_layout.setSpacing(20) self.bottom_layout.setContentsMargins(0, 10, 20, 0) self.connect(self.cancel_button, SIGNAL("clicked()"), self, SLOT("hide()")) def translateLanguage(self): space_str = QString(" ") #QString self.title_label.setText(u"360 safe setting") self.close_button.setToolTip(u"close") self.tab_widget.addTab(self.tab1, u"rise style") self.tab_widget.addTab(self.tab2, u"advanced setting") self.tab_widget.addTab(self.tab3, u"physical setting") self.tab_widget.addTab(self.tab4, u"user setting") self.tab_widget.addTab(self.tab5, u"improve program") self.tab_widget.addTab(self.tab6, u"cloud secure program") self.tab1_group_box.setTitle(u"rise style title") self.auto_rise_button.setText(u"auto rise") self.not_auto_rise_button.setText(u"not auto rise") self.rise_mummy_check_box.setText(u"rise mummy") self.game_check_box.setText(u"game") self.g3_check_box.setText(u"3g") self.p2p_check_box.setText(u"p2p") self.mummy_check_box.setText(u"mummy") self.tab2_group_box1.setTitle(u"mummy fireproof") self.tab2_group_box2.setTitle(u"context menu") self.tab2_group_box3.setTitle(u"software manager") self.auto_start_check_box.setText(u"auto start") self.remove_own_check_box.setText(u"remove own") self.strong_remove_check_box.setText(u"strong remove") self.mummy_kill_check_box.setText(u"mummy kill") self.display_count_check_box.setText(u"display count") self.tab3_group_box1.setTitle(u"frequency setting") self.tab3_group_box2.setTitle(u"quit style setting") self.auto_check_button.setText(u"auto check") self.first_check_button.setText(u"first check") self.hand_check_button.setText(u"hand check") self.select_quit_button.setText(u"select quit") self.backstage_mode_button.setText(u"backstage mode") self.immediacy_close_button.setText(u"immediacy close") self.tab4_group_box.setTitle(u"rate task setting") self.diaplay_experience_check_box.setText(u"diaplay experience") self.diaplay_experience_check_box.setText(u"diaplay login") self.tray_quit_check_box.setText(u"tray quit") self._character_check_box.setText(u" character") self.rise_remind_check_box.setText(u"rise remind") self.tab5_group_box.setTitle(u"improve plan") self.improve_plan_check_box.setText(u"join improve plan") self.understand_detail_button.setText(u"understand detail") self.tab6_group_box1.setTitle(u"file safe plan") self.tab6_group_box2.setTitle(u"internet safe plan") self.file_safe_label.setText(space_str + u"file safe info") self.internet_safe_label.setText(space_str + u"internet safe info") self.file_safe_check_box.setText(u"file safe") self.internet_safe_check_box.setText(u"internet safe") self.look_privacy_button.setText(u"look privacy") self.ok_button.setText(u"ok") self.cancel_button.setText(u"cancel") def paintEvent(self, event): skin_name = QString() #bool is_read = Util.readInit(QString("./user.ini"), QString("skin"), skin_name) #if(is_read) #if(skin_name.isEmpty()) #skin_name = QString(":/skin/17_big") # #else #skin_name = QString(":/skin/17_big") painter = QPainter() painter.begin(self) painter.drawPixmap(self.rect(), QPixmap("./img/skin/17_big.jpg")) painter.end() painter2 = QPainter() painter2.begin(self) linear2 = QLinearGradient(self.rect().topLeft(), self.rect().bottomLeft()) linear2.start() linear2.setColorAt(0, Qt.white) linear2.setColorAt(0.5, Qt.white) linear2.setColorAt(1, Qt.white) linear2.finalStop() painter2.setPen(Qt.white) #设定画笔颜色,到时侯就是边框颜色 painter2.setBrush(linear2) painter2.drawRect(QRect(0, 60, self.width(), self.height() - 60)) painter2.end() painter3 = QPainter() painter3.begin(self) painter3.setPen(Qt.gray) #static const QPointF points[4] = {} painter3.drawPolyline(QPointF(0, 60), QPointF(0, self.height() - 1), QPointF(self.width() - 1, self.height() - 1), QPointF(self.width() - 1, 60)) painter3.end() def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.dragPosition = event.globalPos() - self.frameGeometry( ).topLeft() event.accept() def mouseMoveEvent(self, event): if event.buttons() == Qt.LeftButton: self.move(event.globalPos() - self.dragPosition) event.accept()
class TitleWidget(QWidget): def __init__(self, parent=None): super(TitleWidget, self).__init__(parent) self.min_button = PushButton(self) self.max_button = PushButton(self) self.close_button = PushButton(self) self.button_list = [] self.min_button.loadPixmap("./sys/img/min_button.png") self.max_button.loadPixmap("./sys/img/max_button.png") self.close_button.loadPixmap("./sys/img/close_button.png") title_layout = QHBoxLayout() title_layout.addStretch() title_layout.addWidget(self.min_button, 0, Qt.AlignTop) title_layout.addWidget(self.max_button, 0, Qt.AlignTop) title_layout.addWidget(self.close_button, 0, Qt.AlignTop) title_layout.setSpacing(0) title_layout.setContentsMargins(0, 0, 15, 0) button_layout = QHBoxLayout() signal_mapper = QSignalMapper(self) self.connect(signal_mapper, SIGNAL("mapped()"), self, SLOT("turnPage()")) button_layout.addStretch() button_layout.setSpacing(8) button_layout.setContentsMargins(15, 0, 0, 0) main_layout = QVBoxLayout() main_layout.addLayout(title_layout) main_layout.addLayout(button_layout) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.translateLanguage() self.setLayout(main_layout) self.setFixedHeight(100) def translateLanguage(self): self.min_button.setToolTip(u"minimize") self.max_button.setToolTip(u"maximize") self.close_button.setToolTip(u"close") @pyqtSlot() def turnPage(self, current_page): current_index = current_page for i in range(len(self.button_list)): self.tool_button = self.button_list[i] if(current_index == i): self.tool_button.setMousePress(True) else: self.tool_button.setMousePress(False)