qtablewidget
qtabwidget
qpixmap
圖表工具qchart
下拉選擇框qcombobox
qtablewidget問題列表:
空間不夠時單元格文字顯示不全
設定item背景色和字型顏色
場景:當空間不夠時,單元格內容會顯示不完全出現省略號…,如下
方案:
table_object.horizontalheader(
).setsectionresizemode(qheaderview.resizetocontents)
# 根據內容自適應
場景:需要給**設定行間隔不同顏色時使用
# 先開啟隔行的背景顏色設定
qtablewidgetobj.setalternatingrowcolors(
true
)# 再使用qss設定
qtablewidgetobj.setstylesheet(
"alternate-background-color: rgb(218, 233, 231); /* 藍色 */ "
)
方案2:
# 偶數行設定背景色
if(row &1)
==0:# 偶數行
# 背景色
qtablewidgetitem.setbackground(qbrush(qcolor(
218,
233,
231)))
# 字型色
qtablewidgetitem.setforeground(qbrush(qcolor(
255,0,
0)))
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-華麗的分割線=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
qtabwidget問題列表:
部分tab的關閉按鈕顯示,部分不顯示的技巧
tab標籤頭樣式美化
1 關閉按鈕部分顯示
qtabwidget.settabsclosable(
true
)# 先設定顯示關閉按鈕
"""qtabwidget.tabbar().settabbutton(index, position, qwidget)
設定不讓顯示關閉按鈕的tab
.tabbar() 獲取標籤頭物件
.settabbutton() 設定按鈕
引數:index - 標籤索引
position - qtabbar.rightside (標籤位置)
qwidget - 設定為 none 即可
例如設定第乙個不顯示如下:
"""qtabwidget.tabbar(
).settabbutton(
0, qtabbar.rightside,
none
)
2 樣式美化
.setstylesheet(
""" qtabbar::pane
qtabbar::tab
qtabbar::tab:selected
qtabbar::tab:!selected
qtabbar::tab:hover
""")
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-華麗的分割線=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
qpixmap問題列表:
載入顯示的方式
"""1 從本地檔案載入"""
from pyqt5.qtgui import qpixmap, qimage
.setpixmap(qpixmap(
'media/images/start.png'))
# 檔案路徑從專案根目錄下開始即可
"""2 從網路載入"""
image = qimage.fromdata(map_stream)
# 引數為二進位製流,請求的結果
.setpixmap(qpixmap.fromimage(image)
)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-華麗的分割線=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
qchart問題列表:
安裝使用方式
qchart圖表有關背景的一些設定
圖線出現模糊輪廓的問題
自定義軸刻度不對齊的問題
qtchart是單獨乙個模組,需要安裝pip install pyqtchart==5.10
版本請配合pyqt版本安裝。
使用方式:from pyqt5.qtchart import qchartview, qchart
有關背景的一些設定:
1 隱藏背景網格線:
axisy.setgridlinevisible(
false);
# 隱藏背景網格y軸框線
axisx.setgridlinevisible(
false);
# 隱藏背景網格x軸框線
2 圖例設定
chart.legend(
).setvisible(
true
)# 圖例顯示
chart.legend(
).setalignment(qt.alignbottom)
# 圖例向下居中
3 邊框間距
chart.setcontentsmargins(0,
0,0,
0)# 設定外邊界全部為0
chart.setmargins(qmargins(0,
0,0,
0))# 設定內邊界全部為0
chart.setbackgroundroundness(0)
# 設定背景區域無圓角
4 設定畫布背景
chartview。setbackgroundbrush(qbrush(qcolor(34,
36,42)
))
有時候在畫柱形圖或散點圖由於資料量大,會出現如下情況,例如我畫了柱形圖:
原來是qt繪製圖形時,會用到qbrush和qpen,qpen用於繪製輪廓,qbrush用於繪製填充,預設情況下,不敢是qscatterseries繪製散點還是qbarset繪製柱形,用的qpen的顏色是白色的,也就是會出現白色的邊框,由於柱形夠小被白邊擋住了,所以看到了只是模糊的輪廓。
解決方案:設定qpen,有3個方法
bar = qbarset(
)# scat = qscatterseries() 同樣用法
# 方法1-設定畫筆的粗細為0
"""此法慎用,因為最終影象不設定顏色預設是黑色。其餘兩種還是保留自動顏色設定"""
pen = qpen(
)pen.setwidth(0)
bar.setpen(pen)
# 方法2-把畫筆的顏色設定為透明
bar.setpen(qpen(qt.transparent)
)# 方法3-不使用畫筆(只用qbrush填充)
bar.setpen(qpen(qt.nopen)
)
選擇自己喜歡的方式設定即可。
參照我的另一篇博文:pyqt5 qtchart自定義軸**順序
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-華麗的分割線=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
1 動態新增選項後文字被覆蓋
每次使用qcombobox都是一種修煉,它雖好用,但樣式太難整。動態新增選項後更是生不如死。
解決方案:這裡記錄2中方法:
1 使用此方法會改變整個控制項的大小:
qcombobox.setsizeadjustpolicy(qcombobox.adjusttocontents)
2 使用此方法不改變整個控制項大小:
qcombobox.view().setfixedwidth(最長字型的長度)
PYQT5常用控制項
一 利用qt設計師上面的旋鈕和顯示框來組合,用旋鈕操作,用顯示框顯示數字 旋鈕的訊號和槽選擇如圖,函式名稱隨便寫 需要注意的地方就是,寫曹函式的時候,帶乙個引數,名稱隨意,然後賦值給顯示器lcdnumber,如下 def valuec self,aa print aa self.lcdnumber....
PyQt5 高階控制項使用(QListWidget)
qlistwidget是乙個用於顯示資料的列表,每個條目中都是乙個qlistwidgetitem物件 qlistwidget可以設定多選 常用方法如下 常用訊號 例如 1 qlistwidget 控制項使用 2from pyqt5.qtwidgets import 3from pyqt5.qtgui...
pyqt5的使用目錄
pyqt5的安裝 我的第乙個例子 標籤控制項qlabel的使用 按鈕qpushbutton 訊號與槽 pyqt5模組介紹 pycharm活動模板 qobject qwidget窗體類 qwidget類 座標系統和大小和展示區域qwidget擴充父子關係 qwidget 層級關係 視窗狀態 最大化最小...