360的主页面的显示

来源:互联网 发布:ce引擎知乎 编辑:程序博客网 时间:2024/06/06 01:12
#!/usr/bin/python  #-*-coding:utf-8-*-from title_widget import *from content_widget import *from system_tray import *from about_us import *from main_menu import *from character_widget import *from setting_dialog import *from  skin_widget import *#import utilfrom PyQt4.QtGui import *from PyQt4.QtCore import *from PyQt4.Qt import *class MainWidget(QWidget):def __init__(self,parent = None):    super(MainWidget,self).__init__()    self.location = QRect()    self.title_widget= TitleWidget() #    self.content_widget = ContentWidget(self) #    self.system_tray = SystemTray(self) #    self.setting_dialog = SettingDialog(self) #    self.character_widget = CharacterWidget(self) #    self.about_us_dialog = AboutUsDialog(self) #    self.skin_name = QString("./img/skin/17_big.jpg") #    self.main_menu = MainMenu() #    self.skin_widget = SkinWidget() #    self.setMinimumSize(900, 600) #    self.setWindowIcon(QIcon("./img/safe.ico"))#    self.setWindowFlags(Qt.FramelessWindowHint)#    self.location = self.geometry() #    #self.is_read = Util.readInit(QString("./user.ini"), QString("skin"), skin_name)    #if(self.is_read):    #if(skin_name.isEmpty()):    #skin_name = QString(":/skin/17_big")    #else:    #skin_name = QString(":/skin/17_big")    self.center_layout =  QVBoxLayout()    self.center_layout.addWidget(self.content_widget)    self.center_layout.setSpacing(0)    self.center_layout.setContentsMargins(1, 0, 1, 1)    self.main_layout =  QVBoxLayout()    self.main_layout.addWidget(self.title_widget)    self.main_layout.addLayout(self.center_layout)    self.main_layout.setSpacing(0)    self.main_layout.setContentsMargins(0, 0, 0, 0)    self.setLayout(self.main_layout)    self.connect(self.title_widget, SIGNAL("self.showSkin()"), SLOT("self.showSkinWidget()"))    self.connect(self.title_widget, SIGNAL("self.showMainMenu()"), SLOT("showMainMenu()"))    self.connect(self.title_widget, SIGNAL("self.showMax()"), SLOT("showMax()"))    self.connect(self.title_widget, SIGNAL("self.showMin()"), SLOT("showMinimized()"))    self.connect(self.title_widget, SIGNAL("self.closeWidget()"), SLOT("hide()"))    self.connect(self.main_menu, SIGNAL("showSettingDialog()"), SLOT("showSettingDialog()"))    self.connect(self.main_menu, SIGNAL("showCharacter()"), SLOT("showCharacter()"))    self.connect(self.main_menu, SIGNAL("showAboutUs()"), SLOT("showAboutUs()"))    self.connect(self.skin_widget, SIGNAL("changeSkin(QString)"), SLOT("changeSkin(QString)"))    self.connect(self.system_tray, SIGNAL("activated(QSystemTrayIcon.ActivationReason)"), SLOT("iconIsActived(QSystemTrayIcon.ActivationReason)"))    self.system_tray.show()def paintEvent(self,event):# QPaintEvent *painter = QPainter (self)pixmap = QPixmap() pixmap.load(self.skin_name)painter.drawPixmap(self.rect(), pixmap)painter = QPainter (self)pixmap = QPixmap (self.size())pixmap.fill()painter.end()painter.begin(pixmap)brush = QBrush() brush.setTextureImage(QImage(self.skin_name))painter.setBrush(brush)painter.setPen(Qt.gray)painter.drawRect(0, 0, self.width()-1, self.height()-1)painter.end()#painter.begin(self)painter.drawPixmap(self.rect(),pixmap)painter = QPainter (self)painter.drawPixmap(self.rect(), QPixmap(self.skin_name))painter2 = QPainter (self)painter2.setPen(Qt.gray)#static const QPointF points[4] = {}painter2.drawPolyline(QPointF(0, 100), QPointF(0, self.height()-1), QPointF(self.width()-1, self.height()-1), QPointF(self.width()-1, 100))def showMax(self):self.is_max=Falseif(self.is_max):self.setGeometry(location)else:self.location = self.geometry()self.setGeometry(QApplication.desktop().availableGeometry())self.is_max = ~is_maxdef showSkinWidget(self):skin_widget.show()def showMainMenu(self):p = self.rect().topRight() #QPointp.setX(p.x() - 150)p.setY(p.y() + 22)main_menu.exec_(self.mapToGlobal(p))def iconIsActived(self,reason): #QSystemTrayIcon.ActivationReason if reason == QSystemTrayIcon.Trigger:self.showWidget()elif reason == QSystemTrayIcon.DoubleClick:self.showWidget()def showWidget(self):self.showNormal()self.raise_()self.activateWindow()#self.title_widget.turnPage(0)def showAboutUs(self):self.about_us_dialog.exec_()def showCharacter(self):self.character_widget.show()def showSettingDialog(self):self.setting_dialog.exec_()def changeSkin(self,skin_name): #QString #Util.writeInit(QString("./user.ini"), QString("skin"), skin_name)self.skin_name = skin_nameself.update()if __name__ == "__main__":    import sys    app = QApplication(sys.argv)    #codec = QTextCodec.codecForName("System")    #codec.setCodecForLocale(app)    #codec.setCodecForTr(app)    #codec.setCodecForCStrings(app)    translator = QTranslator(app)    translator.load(QString("qt_zh_CN.qm"))    app.installTranslator(translator)    translator_zh = QTranslator(app)     translator_zh.load(QString("360safe_zh.qm"))    app.installTranslator(translator_zh)    app.setFont(QFont("Arial",9))    main_widget = MainWidget ()    main_widget.showWidget()    sys.exit(app.exec_())

原创粉丝点击