实现QQ抽屉效果
2015-05-15 10:28
465 查看
代码:
#coding: utf-8 from PyQt4.QtCore import * from PyQt4.QtGui import * import sys QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8")) class MyQQ(QToolBox): def __init__(self, parent=None): super(MyQQ, self).__init__(parent) #创建了一个 QToolButton 类实例, 在这里 QToolButton 分别对应于抽屉中的每一个按钮。 toolButton1_1 = QToolButton() toolButton1_1.setText(self.tr("朽木")) toolButton1_1.setIcon(QIcon("image/9.gif")) #toolButton1_1.setWindowIcon(QSize(60, 60)) #设置按钮的 AutoRaise 属性为 True,当鼠标离开时,按钮自动恢复成弹起状态 toolButton1_1.setAutoRaise(True) toolButton1_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) #设置按钮的 ToolButtonStyle 属性,ToolButtonStyle 属性主要用来描述按钮的文字和图标的显示方式 toolButton1_2 = QToolButton() toolButton1_2.setText(self.tr("Cindy")) toolButton1_2.setIcon(QIcon("image/8.gif")) #toolButton1_2.setWindowIcon(QSize(60, 60)) toolButton1_2.setAutoRaise(True) toolButton1_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton1_3 = QToolButton() toolButton1_3.setText(self.tr("了了")) toolButton1_3.setIcon(QIcon("image/1.gif")) #toolButton1_3.setWindowIcon(QSize(60, 60)) toolButton1_3.setAutoRaise(True) toolButton1_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton1_4 = QToolButton() toolButton1_4.setText(self.tr("张三虎")) toolButton1_4.setIcon(QIcon("image/3.gif")) #toolButton1_4.setWindowIcon(QSize(60, 60)) toolButton1_4.setAutoRaise(True) toolButton1_4.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton1_5 = QToolButton() toolButton1_5.setText(self.tr("CSDN")) toolButton1_5.setIcon(QIcon("image/4.gif")) #toolButton1_5.setWindowIcon(QSize(60, 60)) toolButton1_5.setAutoRaise(True) toolButton1_5.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton2_1 = QToolButton() toolButton2_1.setText(self.tr("丫头")) toolButton2_1.setIcon(QIcon("image/5.gif")) #toolButton2_1.setWindowIcon(QSize(60, 60)) toolButton2_1.setAutoRaise(True) toolButton2_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton2_2 = QToolButton() toolButton2_2.setText(self.tr("梅子")) toolButton2_2.setIcon(QIcon("image/6.gif")) #toolButton2_2.setWindowIcon(QSize(60, 60)) toolButton2_2.setAutoRaise(True) toolButton2_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton3_1 = QToolButton() toolButton3_1.setText(self.tr("在耀")) toolButton3_1.setIcon(QIcon("image/7.gif")) #toolButton3_1.setWindowIcon(QSize(60, 60)) toolButton3_1.setAutoRaise(True) toolButton3_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) toolButton3_2 = QToolButton() toolButton3_2.setText(self.tr("和梁")) toolButton3_2.setIcon(QIcon("image/6.gif")) #toolButton3_2.setWindowIcon(QSize(60, 60)) toolButton3_2.setAutoRaise(True) toolButton3_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) #创建了一个 QGroupBox 类实例,在本例中对应每一个抽屉 groupbox1 = QGroupBox() #创建一个 QVBoxLayout 类实例,用来设置抽屉内各按钮的布局 vlayout1 = QVBoxLayout(groupbox1) vlayout1.setMargin(10) vlayout1.setAlignment(Qt.AlignCenter) vlayout1.addWidget(toolButton1_1) vlayout1.addWidget(toolButton1_2) vlayout1.addWidget(toolButton1_3) vlayout1.addWidget(toolButton1_4) vlayout1.addWidget(toolButton1_5) vlayout1.addStretch() #调用 addStretch()方法在按钮之后插入一个占位符,使得所有按钮能靠上对齐。并且在整个抽屉大小发生改变时,保证按钮的大小不发生变化 groupbox2 = QGroupBox() vlayout2 = QVBoxLayout(groupbox2) vlayout2.setMargin(10) vlayout2.setAlignment(Qt.AlignCenter) vlayout2.addWidget(toolButton2_1) vlayout2.addWidget(toolButton2_2) groupbox3 = QGroupBox() vlayout3 = QVBoxLayout(groupbox3) vlayout3.setMargin(10) vlayout3.setAlignment(Qt.AlignCenter) vlayout3.addWidget(toolButton3_1) vlayout3.addWidget(toolButton3_2) #把准备好的抽屉插入至 QToolBox中 self.addItem(groupbox1, self.tr("我的好友")) self.addItem(groupbox2, self.tr("丫头")) self.addItem(groupbox3, self.tr("朋友")) app = QApplication(sys.argv) form = MyQQ() form.setWindowTitle("MyQQ") form.show() app.exec_()
相关文章推荐
- [QT]QT教程之实例分析[三] 实现QQ抽屉效果(QToolBox 和QToolButton)
- [QT]QT教程之实例分析[三] 实现QQ抽屉效果(QToolBox 和QToolButton)
- 基于Qt的类似QQ好友列表抽屉效果的实现
- QT学习 第一章:基本对话框--实现QQ抽屉效果
- 实现QQ抽屉效果(QToolBox 和QToolButton)
- 实现QQ抽屉效果(QToolBox 和QToolButton)
- 基于Qt的类似QQ好友列表抽屉效果的实现
- 实现QQ抽屉效果(QToolBox 和QToolButton)
- Python PyQt4实现QQ抽屉效果
- 实现QQ的抽屉效果
- PyQt4 精彩实例分析* 实例6 实现QQ抽屉效果
- QT版:QQ面板抽屉效果实现
- Python PyQt4实现QQ的抽屉效果
- Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)
- PyQt4 精彩实例分析* 实例6 实现QQ抽屉效果
- jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
- 手机QQ侧滑菜单_从源码上一步步解析效果的实现
- Android 抽屉效果的导航菜单实现
- android 仿QQ 手机管家(3.90版本以前)抽屉效果
- iOS 仿QQ抽屉效果