python qtablewedgit_python3.x,python_PyQt5如何给tablewidget添加点击事件?除了tablewidget还有什么具有scroll?,python3.x,...

PyQt5如何给tablewidget添加点击事件?除了tablewidget还有什么具有scroll?

1.tableWidget怎么控制大小,能否用label来替代?

2.如何添加动作,点击目录后导出内容?

3.通过setColumnStretch设置的列宽,在目录导出后,约束失效了,这是为什么?

import sys

from PyQt5.QtWidgets import *

import urllib.request as request

import Spider

class MainScene(QWidget):

def __init__(self):

super().__init__()

self.contextGrid()

self.show()

def contextGrid(self):

self.resize(500,300);

self.grid = QGridLayout()

self.setLayout(self.grid)

self.novelNameEdit = QLineEdit("http://xs.dmzj.com/2012/index.shtml")

self.searchBtn = QPushButton("Search")

self.blankLabel = QLabel("")

self.novelText = QLabel("Content")

self.grid.addWidget(self.novelNameEdit,0,0,1,1)

self.grid.addWidget(self.searchBtn,0,1,1,1)

self.grid.addWidget(self.blankLabel,0,2,1,3)

self.grid.addWidget(self.novelText,1,1,1,4)

self.grid.setColumnStretch(1,1)

self.grid.setColumnStretch(2,1)

self.grid.setColumnStretch(3,3)

self.searchBtn.clicked.connect(self.searchBtnClick)

def searchBtnClick (self):

pass

Sp = Spider.Catalogue()

content = request.urlopen(self.novelNameEdit.text()).read()

content = str(content, 'utf-8')

Sp.feed(content)

Sp.close()

catalogueCount = len(Sp.catalogueList)

tableWidget = QTableWidget(catalogueCount,1)

tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)

for ca in range(catalogueCount):

tableWidget.setItem(ca,0,QTableWidgetItem(Sp.catalogueList[ca]))

self.grid.addWidget(tableWidget, 1, 0, 1, 1)

if __name__ == "__main__":

App = QApplication(sys.argv)

MS = MainScene()

sys.exit(App.exec_())

Spider.py

# -*- coding:utf-8 -*-

import html.parser as Pa

class Catalogue(Pa.HTMLParser):

a_t = False

alt = ""

title = ""

catalogueList = []

def handle_data(self, data):

if self.a_t is True:

self.catalogueList.append(data)

def handle_starttag(self, tag, attrs):

if str(tag).startswith("a"):

for key,value in attrs:

if key == "alt":

self.alt = value

elif key == "title":

self.title = value

elif key == "href" and (value.find("/2012/")) == 0 and (value.find("index.")) == -1 and (value.find(".txt")) == -1:

self.a_t = True

else:

self.a_t = False

def handle_endtag(self, tag):

if tag == "a":

self.a_t=False

class NovelText(Pa.HTMLParser):

a_t = False

def handle_starttag(self, tag, attrs):

if str(tag).startswith("div"):

for key,value in attrs:

if value == "novel_text":

self.a_t = True

break;

else:

self.a_t = False

def handle_data(self, data):

if self.a_t is True:

print(data)

相关阅读:

php中session_id()的值一般在数据库存什么类型,长度多少?

寻找微软人脸识别开发者资源

ImportError: No module named 'SocketServer' ?

console.log("/uid-"+8) 会得到什么结果?

怎样用Jquery写出一个美好的HTML5前端框架模板

js 对url的des加密

SDWebImage加载图片,[UIImageView sd_setImageWithURL:]:出错。

mysql查询性能问题

为什么在react的componentDidMount方法执行时,获取不到DOM被渲染完成的属性?

jquery移入移除的问题

带分页的数据如何抓取?

apache rewrite 无法匹配'index'字符串

Android查找本地视频并按照来源分类?

html tab tabindex 设置了其顺序,但是文本框加载jQuery虚拟键盘插件后,tabindex顺序失灵

hibernate manytomany 更新主表字段,从表关系被删除

函数return之后的代码会还执行吗

yii2 Trying to copy a directory to itself or a subdirectory

如何让行内元素在固定高度的块级元素底部对齐?

如何使用CSS实现图片内边缘模糊效果?

webstorm开启了babel编译,笔记本温度持续上升

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值