| 136 | self.webView.resize(page.contentsSize().toSize()) |
| 137 | |
| 138 | def doScreenShot(): |
| 139 | rect = self.webView.contentsRect() |
| 140 | size = rect.size() |
| 141 | image = QImage(size, QImage.Format_ARGB32_Premultiplied) |
| 142 | image.fill(Qt.transparent) |
| 143 | |
| 144 | painter = QPainter() |
| 145 | painter.begin(image) |
| 146 | painter.setRenderHint(QPainter.Antialiasing, True) |
| 147 | painter.setRenderHint(QPainter.TextAntialiasing, True) |
| 148 | painter.setRenderHint(QPainter.SmoothPixmapTransform, True) |
| 149 | |
| 150 | self.webView.render(painter, QPoint()) |
| 151 | painter.end() |
| 152 | self.webView.resize(oldSize) |
| 153 | |
| 154 | # 添加到左侧list中 |
| 155 | item = QListWidgetItem(self.widgetRight) |
| 156 | image = QPixmap.fromImage(image) |
| 157 | item.setIcon(QIcon(image)) |
| 158 | item.setData(Qt.UserRole + 1, image) |
| 159 | |
| 160 | # 先等一下再截图吧 |
| 161 | QTimer.singleShot(2000, doScreenShot) |