概述
提升即继承某个控件新建一个新的控件,用于扩展控件功能。
这里通过提升QListWidget,实现一个在list项中鼠标右键弹出上下文弹框的功能。
1、添加一个QtClass,选择你要继承的控件,这里继承QListWidget,命名为SListWidget ;
2、在SListWidget中添加扩展功能;
#pragma once
#include <qlistwidget.h>
#include <QMenu>
#include <QAction>
#include <QContextMenuEvent>
class SListWidget : public QListWidget
{
public:
SListWidget(QWidget *parent);
~SListWidget();
QMenu* m_contextMenu;
QAction* m_addAction;
QAction* m_delAction;
protected:
void mousePressEvent(QMouseEvent* event);
};
#include "SListWidget.h"
SListWidget::SListWidget(QWidget *parent)
: QListWidget(parent)
{
m_contextMenu = new QMenu;
m_addAction = new QAction(u8"添加", this);
m_delAction = new QAction(u8"删除", this);
m_contextMenu->addAction(m_addAction);
m_contextMenu->addAction(m_delAction);
}
SListWidget::~SListWidget()
{
}
void SListWidget::mousePressEvent(QMouseEvent* event)
{
QListWidget::mousePressEvent(event);
if (event->button() == Qt::RightButton)
{
if (this->itemAt(mapFromGlobal(QCursor::pos())) == NULL)
return;
m_contextMenu->exec(event->globalPos());
}
}
3、打开qt designer,拖拽出一个QListWidget控件,右键“提升的窗口控件”;
最后
以上就是纯情大炮为你收集整理的学习Qt:VS中提升控件的全部内容,希望文章能够帮你解决学习Qt:VS中提升控件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复