您当前的位置: 首页 >  qt

FPGA硅农

暂无认证

  • 4浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

PyQt5使用下拉形式的复选框

FPGA硅农 发布时间:2020-11-03 19:07:53 ,浏览量:4

from PyQt5.QtWidgets import QComboBox, QListWidgetItem, QListWidget, QCheckBox, \
  QApplication, QVBoxLayout, QWidget,QPushButton,QHBoxLayout
import sys

class ComboCheckBox(QWidget):
  def __init__(self):
    super().__init__()
    self.resize(200,200)
    self.items = ['a','b','c','d']
    self.box_list = []
    self.comb=QComboBox(self)
    self.listwidget = QListWidget(self)
    for i in range(len(self.items)):
        self.box_list.append(QCheckBox(self))
        self.box_list[i].setText(self.items[i])
        item = QListWidgetItem(self.listwidget)
        self.listwidget.setItemWidget(item, self.box_list[i])
    #QComboBox添加模型和视图,QListWidget设置为QComboBox的View,QListWidget的Model设置为QComboBox的Model
    self.comb.setModel(self.listwidget.model())
    self.comb.setView(self.listwidget)

    self.btn=QPushButton('ok',self)
    self.btn.clicked.connect(self.get_selected)
    self.layout=QHBoxLayout()
    self.layout.addWidget(self.comb)
    self.layout.addWidget(self.btn)
    self.setLayout(self.layout)

  def get_selected(self):
    ret = []
    for i in range(len(self.items)):
      if self.box_list[i].isChecked():
        ret.append(self.box_list[i].text())
    print(ret)




if __name__ == "__main__":
  app = QApplication(sys.argv)
  ui = ComboCheckBox()
  ui.show()
  sys.exit(app.exec_())
关注
打赏
1658642721
查看更多评论
立即登录/注册

微信扫码登录

0.0779s