Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 45 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,59 +13,68 @@

[腾讯视频热播列表](腾讯视频热播列表/)

[ QWebView 与 python 通过js交互 特效 - 已失效 未更新](https://github.com/892768447/PhotoEffects)
[ QWebView 与 python 通过js交互 特效 - QWebEngine需要改代码](https://github.com/892768447/PhotoEffects)

### II、功能型

#### 2.1 常用例子

- [ 自定义属性测试](自定义属性测试/)
- [ 自动更新](自动更新/)
- [ 自定义import](自定义import/)
- [ 全局热键](全局热键/)
- [ 单实例应用 - 只允许运行一个程序](单实例应用/)
- [ 程序重启](程序重启/)
- [ 窗口重启](窗口重启/)
- python 的exec( ) 动态生成控件
1. - [ 自定义属性测试](自定义属性测试/)
1. - [ 自动更新](自动更新/)
1. - [ 自定义import](自定义import/)
1. - [ 全局热键](全局热键/)
1. - [ 单实例应用 - 只允许运行一个程序](单实例应用/)
1. - [ 程序重启](程序重启/)
1. - [ 窗口重启](窗口重启/)
1. - python 的exec( ) 动态生成控件
- [1. 动态控件基础例子 - 动态生成按钮](partner_625781186/exec动态生成控件/dynamic_button)
- [2. 动态控件基础例子 - 动态生成菜单](partner_625781186/exec动态生成控件/dynamic_Menu)
- [3.配合setting记录模型类型](partner_625781186/exec动态生成控件/)
- [3. 配合setting记录模型类型](partner_625781186/13.combo_listwidget)

- 小部件

- [ ☆! QSplitter 分割条重写 来添加按钮](分割窗口的分割条重写/)

- [ QLabel 图片加载 gif动画](图片加载/)
- [ ComboBox 下拉选择级联--省、市、县 json 数据 ](下拉选择联动/)
1. - [ ☆! QSplitter 分割条重写 来添加按钮](分割窗口的分割条重写/
1. - [ QLabel 图片加载 gif动画](图片加载/)
1. - [ ComboBox 下拉选择级联--省、市、县 json 数据 ](下拉选择联动/)
1. - [ ComboBox 自定义下拉 listitem ](下拉选择联动/)
1. - [ 仿QQ设置面板](仿QQ设置面板/)
1. - [ 右下角弹出框](右下角弹出框/)
1. - [ 消息对话框倒计时关闭](消息对话框倒计时关闭/)
1. - [ QTextEdit 文本高亮](文本高亮/)
1. - [ QActiveX窗口 加载本地word/pdf](ActiveX窗口/)

- [ 仿QQ设置面板](仿QQ设置面板/)
- [ 右下角弹出框](右下角弹出框/)
- [ 消息对话框倒计时关闭](消息对话框倒计时关闭/)

- win 32
- [ 嵌入外部窗口](嵌入外部窗口/)
- [ 探测窗口和 放大镜](探测窗口和放大截图/)
1. - [ 线程的挂起与恢复](多线程使用/)
1. - [ 嵌入外部窗口](嵌入外部窗口/)
1. - [ 截图dll (只能用32位python)](调用截图dll(只能用32位)/)
1. - [ 探测窗口 和 放大镜](探测窗口和放大截图/)

- Model & View

- [ QTabWidget 左侧标签 正字方法](左侧选项卡/)
- [ QTabWidget 表格复制 与 黏贴](表格复制/)
1. - [ QTabWidget 左侧标签 正字方法](左侧选项卡/)
1. - [ QTabWidget 表格复制 与 黏贴](表格复制/)

- [ QListView 加按钮和 排序](QListView/)
- [ Json生成QTreeWidget](Json生成QTreeWidget/)
- [ QSqlTableModel + QTableView 数据库查询显示表格](数据库查询显示表格/)
1. - [ QListView 加按钮和 排序](QListView/)
1. - [ Json生成QTreeWidget](Json生成QTreeWidget/)
1. - [ treeWidget 节点可拖拽](https://github.com/AshotS/glowing-disco)
1. - [ treeWidget 支持拖拽 并改变图标样式](12.1拖拽显示为图片/)
1. - [ QSqlTableModel + QTableView 数据库查询显示表格](数据库查询显示表格/)


- 浏览器QWebEngine模块例子
- [ 浏览器获取Cookie](浏览器获取Cookie/)
- [ 浏览器下载功能](partner_625781186/QWebEngineView下载文件)
- [ 梦幻树 QWebView - 已失效 未更新](梦幻树/)
- [ QWebView 与 python 通过js交互 特效 - 已失效 未更新](https://github.com/892768447/PhotoEffects)
1. - [ 浏览器获取Cookie](浏览器获取Cookie/)
1. - [ 浏览器下载功能](partner_625781186/QWebEngineView下载文件)
1. - [ 浏览器开启调试工具](partner_625781186/14.多进程爬虫)

1. - [ 梦幻树 QWebView - QWebEngine需要改代码](梦幻树/)
1. - [ QWebView 与 python 通过js交互 特效 - QWebEngine需要改代码](https://github.com/892768447/PhotoEffects)


#### 2.2 框架
- [ 无边框自定义标题栏窗口](无边框自定义标题栏窗口/)
- [ 验证码控件](验证码控件/)
- 悬浮下拉菜单
- [ tableWidget形式](partner_625781186/hoverMenu)
1. - [ 无边框自定义标题栏窗口](无边框自定义标题栏窗口/)
1. - [ 验证码控件](验证码控件/)
1. - 悬浮下拉菜单
- [ tableWidget形式](partner_625781186/hoverMenu)

#### 2.3 其他案例
- [ 人脸描点检测](人脸描点检测/)
Expand Down Expand Up @@ -101,17 +110,17 @@
1. - [ 水波纹进度条](界面美化/水波纹进度条)

### IIII、图表型
#### [4.1 QGraphicsView练习](QGraphicsView练习/)
#### 4.1 [ QGraphicsView练习](QGraphicsView练习/)
- [ 世界地图](QGraphicsView练习/世界地图)
- [ 添加QWidget](QGraphicsView练习/添加QWidget.py)
- [ QChartToolTipTest](QGraphicsView练习/QChartToolTipTest.py)

#### [4.2 PyQtChart练习](PyQtChart练习/)
#### 4.2 [ PyQtChart练习](PyQtChart练习/)
- [ charts](PyQtChart练习/charts)
- [ test](PyQtChart练习/test)


### [IV、QML](partner_625781186/QML_QtQuick_PY)
### IV、[QML](partner_625781186/QML_QtQuick_PY)
- [python_QML调用基础](partner_625781186/QML_QtQuick_PY/python_QML调用基础)
- QWidget窗体中嵌入qml界面
- [QDialog中嵌入qml窗体并缩放](partner_625781186/QML_QtQuick_PY/QDialog中嵌入qml窗体并缩放)
Expand Down
105 changes: 105 additions & 0 deletions partner_625781186/12.1拖拽显示为图片/Custom_DND_image.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/usr/bin/env python2
import os
import sys
import re

from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.Qt import QDir

from PyQt5 import QtGui, QtWidgets, QtCore, QtWinExtras
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

"""
Created on $date$ <br>
description: 树视图支持拖拽 并改变图标样式 <br>
author: 东love方 <br>

"""

class MyTreeWidget(QTreeWidget):

def mouseMoveEvent_xxx(self, e):
mimeData = QtCore.QMimeData()
drag = QDrag(self)
drag.setMimeData(mimeData)

# pixmap = QPixmap()
# drag.setPixmap(pixmap)

# drag.setHotSpot(e.pos())

# QTreeWidget.mouseMoveEvent(self,e)
drag.exec_(QtCore.Qt.MoveAction)

def dropEvent(self, e):
QTreeWidget.dropEvent(self, e)
self.expandAll()
e.accept()

def startDrag(self, supportedActions):
listsQModelIndex = self.selectedIndexes()
if listsQModelIndex:
dataQMimeData = self.model().mimeData(listsQModelIndex)
if not dataQMimeData:
return None
dragQDrag = QDrag(self)
dragQDrag.setPixmap(
QPixmap(QDir.currentPath() + "/if_Cursor_drag_arrow_103039.png")) # <- For put your
# custom image here
dragQDrag.setMimeData(dataQMimeData)
defaultDropAction = QtCore.Qt.IgnoreAction
if ((supportedActions & QtCore.Qt.CopyAction) and (self.dragDropMode() != QAbstractItemView.InternalMove)):
defaultDropAction = QtCore.Qt.CopyAction
dragQDrag.exec_(supportedActions, defaultDropAction)


class TheUI(QDialog):

def __init__(self, args=None, parent=None):
super(TheUI, self).__init__(parent)
self.layout = QVBoxLayout(self)
treeWidget = MyTreeWidget()

button = QPushButton('Add')
self.layout.addWidget(treeWidget)
self.layout.addWidget(button)
treeWidget.setHeaderHidden(True)

self.treeWidget = treeWidget
self.button = button
self.button.clicked.connect(lambda *x: self.addCmd())

HEADERS = ("script", "chunksize", "mem")
self.treeWidget.setHeaderLabels(HEADERS)
self.treeWidget.setColumnCount(len(HEADERS))

self.treeWidget.setColumnWidth(0, 160)
self.treeWidget.header().show()

self.treeWidget.setDragDropMode(QAbstractItemView.InternalMove)

self.resize(500, 500)
for i in range(6):
item = self.addCmd(i)
if i in (3, 4):
self.addCmd('%s-1' % i, parent=item)

self.treeWidget.expandAll()
self.setStyleSheet("QTreeWidget::item{ height: 30px; }")

def addCmd(self, i, parent=None):
'add a level to tree widget'

root = self.treeWidget.invisibleRootItem()
if not parent:
parent = root
item = QTreeWidgetItem(parent, ['script %s' % i, '1', '150'])
return item

if __name__ == '__main__':
app = QApplication(sys.argv)
gui = TheUI()
gui.show()
app.exec_()
4 changes: 4 additions & 0 deletions partner_625781186/12.1拖拽显示为图片/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 12.1拖拽显示为图片


![1](ScreenShot/1.gif)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions partner_625781186/13.combo_listwidget/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# comboxBox 自定义下拉


![1](ScreenShot/1.gif)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading