1. 程式人生 > 程式設計 >PyQt5中向單元格新增控制元件的方法示例

PyQt5中向單元格新增控制元件的方法示例

1、簡介

pyqt 列表 單元格中 不僅可以新增資料,還可以新增控制元件。

我們嘗試新增下拉列表、一個按鈕試試。

PyQt5中向單元格新增控制元件的方法示例

setItem:將文字放到單元格中
setCellWidget:將控制元件放到單元格中
setStyleSheet:設定控制元件的樣式(Qt StyleSheet)

2、功能實現

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

'''
 【簡介】
	PyQT5中 單元格里面放控制元件

'''

import sys
from PyQt5.QtWidgets import (QWidget,QTableWidget,QHBoxLayout,QApplication,QTableWidgetItem,QAbstractItemView,QComboBox,QPushButton)


class Table(QWidget):
 def __init__(self):
  super().__init__()
  self.initUI()

 def initUI(self):
  self.setWindowTitle("QTableWidget 例子")
  self.resize(430,300)
  conLayout = QHBoxLayout() # 建立水平佈局檔案
  tableWidget = QTableWidget() # 建立一個列表
  tableWidget.setRowCount(4) # 設定行數
  tableWidget.setColumnCount(3) # 設定列數
  conLayout.addWidget(tableWidget) # 新增列表到佈局

  tableWidget.setHorizontalHeaderLabels(['姓名','性別','體重(kg)']) # 設定水平表頭

  newItem = QTableWidgetItem("張三") # 新增張三 到(0,0)
  tableWidget.setItem(0,newItem)

  comBox = QComboBox() # 新建一個下拉元件
  comBox.addItem("男")
  comBox.addItem("女")
  comBox.setStyleSheet("QComboBox{margin:3px};")
  comBox.currentIndexChanged.connect(self.comboxSelect) #繫結combox select 事件
  tableWidget.setCellWidget(0,1,comBox) # 新增下拉元件到列表(0,1)

  searchBtn = QPushButton("修改") # 新建一個按鈕
  searchBtn.setDown(True)
  searchBtn.setStyleSheet("QPushButton{margin:3px};")
  searchBtn.clicked.connect(self.butClick) #繫結按鈕點選事件
  tableWidget.setCellWidget(0,2,searchBtn) # 新增按鈕到列表(0,2)

  self.setLayout(conLayout)

 def comboxSelect(self,index):
  print("combox select index",index)

 def butClick(self):
  print("button click")

if __name__ == '__main__':
 app = QApplication(sys.argv)
 example = Table()
 example.show()
 sys.exit(app.exec_())

檔案參考:PyQt 快速開發與實踐

到此這篇關於PyQt5中向單元格新增控制元件的方法示例的文章就介紹到這了,更多相關PyQt5 單元格新增控制元件內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!