【QT】 QButton设置图片背景悬停样式 点击出现下拉菜单 QTable实现复制粘贴 QJson的读写 QDirIterator遍历目录 实现鼠标悬浮控件出现提示小框 组合快捷键

最近在用QT写PE结构的分析工具,遇到了很多新的知识,在此记录,方便查阅若有新的收获,也会更新在此。

QButton

QButton设置图片背景悬停样式

ui->logButton->setStyleSheet("QPushButton{border-image: url(:/icon/Image/表单定制01.png);}"//正常
                                         "QPushButton:hover{border-image: url(:/icon/Image/表单定制02.png);}"//悬停
                                         "QPushButton:pressed{border-image: url(:/icon/Image/表单定制03.png);}");//点击

QToolButton点击出现下拉菜单

	ui->ToolsBox->setPopupMode(QToolButton::InstantPopup);//一定要加上
    ui->ToolsBox->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    QMenu *toolMenu=new QMenu(ui->ToolsBox);
    toolMenu->addAction(new QAction(QIcon(":/icon/Image/计算器.png"),"地址转换器(Ctrl+C)",toolMenu));
    toolMenu->addAction(new QAction(QIcon(":/icon/Image/关于我们@2x.png"),"关于本软件(Ctrl+A)",toolMenu));

加上如下Qss可以去掉因为添加下拉菜单而导致的小三角

"QToolButton::menu-indicator{image:None;}"); //取消掉工具栏的小三角

QTableWiget

QTableWiget的基本用法

QStringList headList;
    headList<<"Test"<<"Value";
    m_iRow = 5;//表格当前行数
    m_iCol = headList.size();//表格当前列数
    ui->tableWidget->setColumnCount(m_iCol);//设置列数
    ui->tableWidget->setRowCount(m_iRow);//设置行数
    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//自适应列宽
    ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//表格不能被编辑
    ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);//整行选中效果
    ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);//设置为只能单选
   	ui->tableWidget->verticalHeader()->setVisible(false);   //隐藏列表头
    ui->tableWidget->horizontalHeader()->setVisible(false); //隐藏行表头
    ui->tableWidget->setHorizontalHeaderLabels(headList);//设置表头
   	ui->tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);  //可多选(Ctrl、Shift、  Ctrl+A 等)
    int iCurCount = ui->tableWidget->currentRow();//获取当前行数
    //在单元格里面添加控件
    QComboBox *comBox = new QComboBox(ui->tableWidget);
    comBox->addItem("Y");
   	comBox->addItem("N");
    ui->tableWidget->setCellWidget(4,0,comBox);
    QLineEdit * l = new QLineEdit(ui->tableWidget);
    l->setText(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘乙兵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值