一、Qlabel字體換行
a=QLabel("123")
a.setWordWrap(True)
二、窗口之間傳值
主窗口
class Panel3(QFrame):
def __init__(self):
super().__init__()
self.diglog = AddDialog()
self.addbtn=QPushButton(self)
self.addbtn.setText("增加")
def showaddDig(self):#點擊按鈕事件
self.diglog.mySignal.connect(self.getlist) #彈窗的自定義信號 綁定窗口1的槽函數getlist
self.diglog.show()#彈窗顯示
pass
def getlist(self,list): #參數list 可獲得攜帶list信息的信號
print("list"+str(list))
self.diglog.mySignal.disconnect(self.getlist) # 要斷開,否則關閉彈窗時會死機
子彈窗
class AddDialog(QDialog):
mySignal= pyqtSignal(list)#自定義可攜帶list的信號
def __init__(self):
super().__init__()
self.id=""
self.name=""
self.resize(600, 400)
self.setWindowTitle("add")
self.setWindowModality(Qt.ApplicationModal)#模態窗口,使得不關彈窗不能操作主窗口
self.btn1=QPushButton("確定")
self.btn1.clicked.connect(self.confirmbtn)
self.btn2=QPushButton("取消")
self.btn2.clicked.connect(self.cancelbtn)
self.input1=QLineEdit("id1")
self.res=QLineEdit("name1")
def confirmbtn(self):#點擊確認按鈕
tp=[]
tp.append(self.input1.text())
tp.append(self.res.text())
#復位
self.input1.setText("")
self.res.setText("")
self.mySignal.emit(tp)#發射帶着list信息的信號
#由於信號已經綁定主窗口的槽函數getlist,所以發射信號的終點是槽函數getlist
self.close()#關閉彈窗
def cancelbtn(self):#點擊取消按鈕
self.close()#關閉彈窗
三 讀取寫入遍歷csv
讀+遍歷,a,b是csv的列名
reader = open("data/comments.csv", "r", newline='', encoding='utf-8-sig')
csv_reader = csv.reader(reader)
for a,b in csv_reader:
print(str(a)+" "+str(b))
寫,a是用來往後加,w是用來替換
list['a1','b1']
writer = open("data/taobao_like.csv", "a", newline='', encoding='gbk')
csv_writer = csv.writer(writer)
csv_writer.writerow(list)
writer.close()
四 lxml的使用
from lxml import etree
url="https://www.baidu.com"
res1 = requests.get(url)
res1.encoding = "gbk"
dom = etree.HTML(res1.text)
a_text = dom.xpath('//meta[@name="keywords"]/@content')
# 獲取meta下name=keywords的content屬性的內容
五 倒序遍歷 [::-1] 第三個參數是步長
刪除xxxList裏面的widgetItem會用上倒序遍歷
for i in range(0,self.input1.count())[::-1]:
self.input1.removeItem(i)