Maison  >  Article  >  développement back-end  >  Python PyQt4 implémente l'effet de tiroir QQ

Python PyQt4 implémente l'effet de tiroir QQ

不言
不言original
2018-04-20 13:43:132105parcourir

Cet article présente principalement Python PyQt4 pour implémenter l'effet de tiroir QQ en détail. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

L'exemple de cet article partage avec vous Python PyQt4 pour implémenter QQ. Le code spécifique pour l'affichage de l'effet de tiroir est pour votre référence. Le contenu spécifique est le suivant

Regardez d'abord l'effet de capture d'écran :

Utilisant principalement QTabWidget et Widgets de page QToolBox

# -*- coding: utf-8 -*- 
from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
import sys 
 
QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8")) 
 
class MyQQ(QTabWidget): 
  def __init__(self,parent=None): 
    super(MyQQ,self).__init__(parent) 
     
    toolButton1=QToolButton() 
    toolButton1.setText(self.tr("gavin")) 
    toolButton1.setIcon(QIcon("d:/image/1.png")) 
    toolButton1.setIconSize(QSize(60,60)) 
    toolButton1.setAutoRaise(True) 
    toolButton1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) 
 
 
    toolButton2=QToolButton() 
    toolButton2.setText(self.tr("问题的方法")) 
    toolButton2.setIcon(QIcon("d:/image/2.png")) 
    toolButton2.setIconSize(QSize(60,60)) 
    toolButton2.setAutoRaise(True) 
    toolButton2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)     
 
    toolButton3=QToolButton() 
    toolButton3.setText(self.tr("为什么")) 
    toolButton3.setIcon(QIcon("d:/image/3.png")) 
    toolButton3.setIconSize(QSize(60,60)) 
    toolButton3.setAutoRaise(True) 
    toolButton3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) 
 
    groupbox1=QGroupBox() 
    vlayout1=QVBoxLayout(groupbox1) 
    vlayout1.setMargin(10) 
    vlayout1.setAlignment(Qt.AlignCenter) 
    vlayout1.addWidget(toolButton1) 
    vlayout1.addWidget(toolButton2) 
    vlayout1.addStretch() 
 
    groupbox2=QGroupBox() 
    vlayout2=QVBoxLayout(groupbox2) 
    vlayout2.setMargin(10) 
    vlayout2.setAlignment(Qt.AlignCenter) 
    vlayout2.addWidget(toolButton3) 
    vlayout2.addStretch() 
 
    groupbox3=QGroupBox() 
 
    toolbox1 = QToolBox() 
    toolbox1.addItem(groupbox1,self.tr("我的好友")) 
    toolbox1.addItem(groupbox2,self.tr("同事")) 
    toolbox1.addItem(groupbox3,self.tr("黑名单")) 
         
    toolbox2 = QToolBox() 
     
    self.addTab(toolbox1, "联系人") 
    self.addTab(toolbox2, "群/讨论组") 
     
app=QApplication(sys.argv) 
myqq=MyQQ() 
myqq.setWindowTitle("QQ2012") 
myqq.show() 
app.exec_()

Enregistrement du problème

1. Lors de l'utilisation du chinois dans le script, un message d'erreur apparaît :

SyntaxError :f349173da198592309b66bf1147f3e94 Le codec 'utf8' ne peut pas décoder l'octet 0xc4 en position 0 : octet de continuation invalide

Besoin de convertir *Fichier .py Enregistrez-le au format utf-8. J'utilise gvim et je n'ai jamais compris les paramètres d'encodage de vim, j'ai donc utilisé une méthode relativement stupide, en l'ouvrant avec le bloc-notes et en l'enregistrant au format utf-8

2. Au début, j'ai placé l'image du répertoire avatar dans le répertoire Python32Libsite-packages, puis j'ai appelé le module dans l'explication, mais il n'a pas pu être affiché. Plus tard, j'ai changé le chemin absolu


<.>


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn