热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Qt编写自定义控件:自定义弹出列表的QComboBox

代码:#ifndefTABLECOMBOBOX_H#defineTABLECOMBOBOX_H#include#include

代码:

#ifndef TABLECOMBOBOX_H
#define TABLECOMBOBOX_H#include
#include class comboBoxTableView : public QTableView
{
public:comboBoxTableView(QComboBox *parent);
};class tableComboBox : public QComboBox
{
public:tableComboBox(QWidget * parent = nullptr);
};#endif // TABLECOMBOBOX_H

#include "tablecombobox.h"
#include
#include
#include
#include
#include
#include comboBoxTableView::comboBoxTableView(QComboBox *parent):QTableView (parent)
{this->horizontalHeader()->hide();this->verticalHeader()->hide();this->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);auto model &#61; new QStandardItemModel(this);model->setColumnCount(3);model->setRowCount(3);this->setModel(model);QList list;QButtonGroup * btnGroup &#61; new QButtonGroup(this);for (int i &#61; 1;i <10;&#43;&#43;i){QPushButton * btn &#61; new QPushButton(this);btn->setCheckable(true);btn->setStyleSheet(QString("QPushButton{color:#ffffff;padding:6px 10px 6px 10px;background-color:#00beac;font-size:24px;border-radius:6px;}""QPushButton:hover{background-color:#20c9b3;}""QPushButton:pressed{background-color:#01968c;}""QPushButton:checked{background-color:red;}"));btn->setText(QString("%1").arg(i));list <addButton(btn);connect(btn,&QPushButton::toggled,[&#61;]{parent->setCurrentText(btn->text());});}btnGroup->setExclusive(true);for (int i &#61; 0;i <3;&#43;&#43;i){for (int j &#61; 0;j <3;&#43;&#43;j){model->setItem(i, j, new QStandardItem());this->setIndexWidget(model->index(i,j),list[i * 3 &#43; j]);}}
}tableComboBox::tableComboBox(QWidget *parent):QComboBox (parent)
{auto view &#61; new comboBoxTableView(this);this->setModel(view->model());this->setView(view);setEditable(true);lineEdit()->setReadOnly(true);setStyleSheet("QComboBox{border-radius: 6px;border: 1px solid #00bcd4;padding:6px 10px 6px 10px;font-size:28px;color: #000000;selection-background-color: #00beac;}");
}

效果&#xff1a;


推荐阅读
author-avatar
diy2099_d94639
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有