摘要:
设置预置点时,汉字要转成GB2312 QTextCodec *codec = QTextCodec::codecForName("GB2312"); QByteArray gb2312Array = codec->fromUnicode(info.value("name").toString()); 阅读全文
摘要:
1.需求描述 2.实现方法 构造函数中设置右键响应策略,并连接信号槽; this->setContextMenuPolicy(Qt::CustomContextMenu); connect(this, &QWidget::customContextMenuRequested, this,&PlayW 阅读全文
摘要:
// 下面三个函数监听全局的隐藏事件, 为了保证客户端不可见的时候日历隐藏 bool CPlaybackCalendarWidget::eventFilter(QObject *watched, QEvent *eve) { if (eve->type() == QEvent::Applicatio 阅读全文
摘要:
1.需求描述 将播放窗口全屏显示,将工具栏边框等隐藏在后面;然后退出全屏通过ESC返回按钮; 2.实现方法 定义一个全屏的容器类,继承于QWidget;全屏时,去掉窗口的父窗口,然后全屏显示,不去掉父窗口指针无法全屏;按下ESC按钮后,通过keyPressEvent(QKeyEvent* pEven 阅读全文
摘要:
1.需求描述 多个播放的窗口,选中其中的一个,用蓝色线框标记出来,如下图所示; 2.实现方式 通过mousePressEvent函数判断是点击了哪个窗口,然后用paintEvent函数来绘制窗口的边框; #ifndef MULTLAYOUT_H #define MULTLAYOUT_H #inclu 阅读全文
摘要:
1.QT拖拽事件分为两类。 (1)电脑上的文件拖入程序,在程序上放下文件Drop;例如将视频拖入程序进行播放,将图片突入程序进行展示; (2)程序中界面内部拖放,例如将组织树中的监控点拖入播放窗口进行播放;将一个表格中的人员拖入另外一个表格等;将QTreeview中的item拖动位置,移到不同的组织 阅读全文
摘要:
1.需求描述 QTreeView先插入的排在上面,并支持手动置顶进行排序,取消置顶; 2.实现方案 (1)定义排序角色 给每一个插入的QStandardItem对象设置一个排序角色,我们用插入时间来设置这个值; enum CustomRole { QOrderRole = Qt::UserRole 阅读全文
摘要:
1.需求描述 点击编辑按钮,进入编辑状态,点击确认和取消按钮退出编辑状态 (1) 重写代理createEditor函数 这个函数是代理触发编辑信号后,自动创建编辑界面的widget对象,覆盖在item上;EmptyTreeItem就是我们自定义的编辑控件,包括输入框,确认和取消按钮; QWidget 阅读全文
摘要:
所有的界面显示都交代理去绘制,否则会影响插入性能;一开始打算将类型图标通过QStandardItem创建时传给QStandardItem,在插入到model中,后来发现这样会降低插入的性能; pItem = new QStandardItem(QIcon(":/foldericon.svg"), i 阅读全文
摘要:
1、需求描述 实现组织树搜索,关键字红色显示;搜索规则,名称匹配显示,没有匹配不显示,子节点匹配,父节点即使没有匹配也显示; 2.实现方法 (1)top节点名称匹配关键则显示,否则隐藏 void TreeTaskList::SlotFilterChanged(QString strText) { m 阅读全文