实验
- QTreeWidget遍历树节点
- QTreeWidget增加、删除树节点
- QDockWidget的显示,停靠
- 图片的加载显示,放大、缩小、横向自适应,竖向自适应
.h文件
#ifndef TREEWIDGETEXAMPLE_H
#define TREEWIDGETEXAMPLE_H
#include <QMainWindow>
#include <QTreeWidgetItem>
#include <QLabel>
#include <QSpinBox>
#include <QPixMap>
namespace Ui {
class TreeWidgetExample;
}
class TreeWidgetExample : public QMainWindow
{
Q_OBJECT
private:
//
enum treeItemType
{
itTopItem=1001,//顶层节点
itGroupItem,//组节点 有叶子
itImageItem};//图片 叶子
enum treeColNum
{
colItem=0,
colItemType=1,
colDate
};
QLabel *labFileName;//
QLabel *labNodeText;
QSpinBox *spinRatio;
QLabel *labInfo;
QPixmap m_pixmap;//当前图片
float m_ratio;//当前图片缩放比例
void buildTreeHeader();//构建表头
void iniTree();//目录树初始化
//添加目录节点
void addFolderItem(QTreeWidgetItem *parItem,QString dirName);
//从目录全名获取最后的文件夹名
QString getFinalFolderName(const QString &fullPathName);
void addImageItem(QTreeWidgetItem *parItem,QString aFileName);
void displayImage(QTreeWidgetItem *item);
void changeItemCaption(QTreeWidgetItem *item);
//删除节点
void deleteItem(QTreeWidgetItem *parItem,QTreeWidgetItem *item);
public:
explicit TreeWidgetExample(QWidget *parent = nullptr);
~TreeWidgetExample();
private slots:
void on_treeFiles_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void on_actAddFolder_triggered();
void on_actAddFiles_triggered();
void on_actDeleteItem_triggered();
void on_actScanItems_triggered();
void on_actZoomIn_triggered();
void on_actZoomOut_triggered();
void on_actZoomRealSize_triggered();
void on_actZoomFitW_triggered();
void on_actZoomFitH_triggered();
void on_actDockFloat_triggered(bool checked);
void on_actDockVisible_triggered(bool checked);
void on_dockWidget_visibilityChanged(bool visible);
void on_dockWidget_topLevelChanged(bool topLevel);
void on_treeFiles_itemChanged(QTreeWidgetItem *item, int column);
void on_treeFiles_itemCollapsed(QTreeWidgetItem *item);
void on_treeFiles_itemExpanded(QTreeWidgetItem *item);
void on_treeFiles_itemSelectionChanged();
void on_treeFiles_itemClicked(QTreeWidgetItem *item, int column);
void on_treeFiles_itemPressed(QTreeWidgetItem *item, int column);
private:
Ui::TreeWidgetExample *ui;
};
#endif // TREEWIDGETEXAMPLE_H
.cpp文件
#include "treewid

最低0.47元/天 解锁文章
9801

被折叠的 条评论
为什么被折叠?



