当前位置: 首页 > news >正文

网站开发 -(广告)wordpress页面怎么切换

网站开发 -(广告),wordpress页面怎么切换,wordpress路径优化,网站在建设时不容忽略的一些细节Qt 是一个跨平台C图形界面开发库#xff0c;利用Qt可以快速开发跨平台窗体应用程序#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置#xff0c;实现图形化开发极大的方便了开发效率#xff0c;本章将重点介绍ListWidget列表框组件的常用方法及灵活运用。…Qt 是一个跨平台C图形界面开发库利用Qt可以快速开发跨平台窗体应用程序在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置实现图形化开发极大的方便了开发效率本章将重点介绍ListWidget列表框组件的常用方法及灵活运用。 QListWidget 是 Qt 中的一个列表框组件用于显示一列项目并允许用户进行选择。每个项目可以包含一个图标和文本可以使用 QListWidgetItem 类来表示。ListWidget组件与TreeWidget有些相似区别在于TreeWidget可以实现嵌套以及多字段结构而ListWidget则只能实现单字段结构该组件常用于显示单条记录例如只显示IP地址用户名等数据。 以下是 QListWidget 类的一些常用方法说明和概述 方法描述addItem(QListWidgetItem *item)向列表中添加一个项目。addItems(const QStringList labels)向列表中添加多个项目。count()返回列表中的项目数量。currentItem()返回当前选择的项目。item(int row)返回给定行索引的项目。itemAt(const QPoint p)返回给定坐标处的项目。takeItem(int row)从列表中删除并返回给定行索引的项目。clear()删除列表中的所有项目。clearSelection()取消选择所有项目。removeItemWidget(QListWidgetItem *item)从列表中删除一个项目并释放与之关联的任何小部件。scrollToItem(QListWidgetItem *item, QAbstractItemView::ScrollHint hint EnsureVisible)滚动列表以确保给定项目可见。sortItems(Qt::SortOrder order Qt::AscendingOrder)对列表中的项目进行排序。itemClicked(QListWidgetItem *item)项目被点击时发出的信号。itemDoubleClicked(QListWidgetItem *item)项目被双击时发出的信号。setItemWidget(QListWidgetItem *item, QWidget *widget)在给定项目的位置设置小部件。setIconSize(const QSize size)设置项目图标的大小。setCurrentRow(int row)设置当前选择的行。setCurrentItem(QListWidgetItem *item)设置当前选择的项目。selectedItems()返回当前选择的所有项目。selectedIndexes()返回当前选择的所有项目的模型索引。setSelectionMode(QAbstractItemView::SelectionMode mode)设置选择模式例如 SingleSelection 或 MultiSelection。 这只是 QListWidget 类的一部分方法。你可以查阅官方文档以获取完整的方法列表以及这些方法的详细说明。 首先读者可自行绘制好如下所示的UI界面在界面中左侧包含一个ListWidget列表框右侧包含各类用于控制组件的pushButton按钮如下图所示 1.1 初始化节点 如下代码是一个槽函数 on_pushButton_init_clicked主要作用是初始化一个 QListWidget 列表框其中包含了一系列的 QListWidgetItem 项。 以下是概述 清空列表框 首先通过 ui-listWidget-clear() 清空了列表框以确保在初始化之前移除已有的项。循环初始化项 使用 for 循环遍历了 0 到 9 的数字共初始化了 10 个项。创建 QListWidgetItem 对于每个循环通过 new QListWidgetItem() 创建了一个新的 QListWidgetItem 对象 aItem。设置文本标签 使用 setText 方法为 QListWidgetItem 设置了文本标签内容是形如 “192.168.1.x” 的字符串。设置图标 使用 setIcon 方法为每个项设置了相同的图标这里使用了名为 “1.ico” 的图标。设置为选中状态 使用 setCheckState 方法将每个项设为选中状态即显示复选框并勾选。设置不可编辑状态 使用 setFlags 方法将每个项设置为不可编辑状态只允许选择和检查操作。增加项到列表中 使用 ui-listWidget-addItem(aItem) 将每个项添加到 QListWidget 中。 该槽函数用于初始化一个包含特定图标、文本、复选框等属性的 QListWidget方便用户进行选择和操作。 // 初始化列表 void MainWindow::on_pushButton_init_clicked() {// 每一行是一个QListWidgetItemQListWidgetItem *aItem;// 设置ICON的图标QIcon aIcon;aIcon.addFile(:/image/1.ico);// 清空列表框ui-listWidget-clear();// 循环初始化for(int x0;x10;x){// 填充字符串QString str QString::asprintf(192.168.1.%d,x);// 新建一个项aItem new QListWidgetItem();aItem-setText(str); // 设置文字标签aItem-setIcon(aIcon); // 设置图标aItem-setCheckState(Qt::Checked); // 设为选中状态aItem-setFlags(Qt::ItemIsSelectable | // 设置为不可编辑状态Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);// 增加项到列表中ui-listWidget-addItem(aItem);} }运行效果如下图 1.2 设置编辑状态 如下槽函数 on_pushButton_edit_clicked 的主要功能是将所有项设置为可编辑状态。 以下是概述 获取所有项数量 使用 ui-listWidget-count() 获取列表框中的项的数量。循环设置状态 使用 for 循环遍历每个项获取当前项的句柄。设置为可编辑状态 使用 setFlags 方法将每个项的状态设置为可编辑包括可选择、可编辑、可检查、可启用等状态。 该槽函数的作用是将列表框中的所有项的状态设置为可编辑这样用户可以在运行时修改这些项的文本内容。 // 设置所有项设置为可编辑状态 void MainWindow::on_pushButton_edit_clicked() {int x,cnt;QListWidgetItem *aItem;// 获取所有项数量cnt ui-listWidget-count();for(x0;xcnt;x){// 得到当前选中项句柄aItem ui-listWidget-item(x);// 设置状态aItem-setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable|Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);} }运行效果如下图 1.3 全选与反选 如下槽函数 on_pushButton_selectall_clicked 的核心功能是实现一个全选按钮即将列表框中的所有项设置为选中状态。 以下是概述 获取总数 使用 ui-listWidget-count() 获取列表框中的项的总数。循环设置选中状态 使用 for 循环遍历每个项获取每个项的指针。设置为选中状态 使用 setCheckState 方法将每个项的状态设置为选中状态即勾选复选框。 该槽函数的作用是实现一个全选按钮方便用户一次性选中所有列表框中的项。 void MainWindow::on_pushButton_selectall_clicked() {// 获取总数int cnt ui-listWidget-count();for(int x0;xcnt;x){// 获取到项的指针QListWidgetItem *aItem ui-listWidget-item(x);// 设置为选中aItem-setCheckState(Qt::Checked);}}如下槽函数 on_pushButton_noselect_clicked 的核心功能是实现一个全不选按钮即将列表框中的所有项设置为非选中状态。 以下是概述 获取总数 使用 ui-listWidget-count() 获取列表框中的项的总数。循环设置非选中状态 使用 for 循环遍历每个项获取每个项的指针。设置为非选中状态 使用 setCheckState 方法将每个项的状态设置为非选中状态即取消勾选复选框。 该槽函数的作用是实现一个全不选按钮方便用户一次性取消选中列表框中的所有项。 void MainWindow::on_pushButton_noselect_clicked() {// 获取总数int cnt ui-listWidget-count();for(int x0;xcnt;x){// 获取到一项指针QListWidgetItem *aItem ui-listWidget-item(x);// 设置为非选中aItem-setCheckState(Qt::Unchecked);} }如下槽函数 on_pushButton_deselect_clicked 的核心功能是实现一个反选按钮即将列表框中的每个项的选中状态进行反转。 以下是概述 获取总数 使用 ui-listWidget-count() 获取列表框中的项的总数。循环设置反选状态 使用 for 循环遍历每个项获取每个项的指针。反选状态 使用 checkState 方法获取每个项的当前选中状态如果是选中状态 (Qt::Checked)则设置为非选中状态 (Qt::Unchecked)反之亦然。 该槽函数的作用是实现一个反选按钮方便用户一次性反转列表框中的所有项的选中状态。 void MainWindow::on_pushButton_deselect_clicked() {int x,cnt;QListWidgetItem *aItem;// 获取总数cnt ui-listWidget-count();for(x0;xcnt;x){// 获取到一项指针aItem ui-listWidget-item(x);// 如果未选中则选中否则不选if(aItem-checkState() ! Qt::Checked)aItem-setCheckState(Qt::Checked);elseaItem-setCheckState(Qt::Unchecked);} }运行效果如下图 1.4 插入与追加 如下槽函数 on_pushButton_add_clicked 的核心功能是实现一个“增加一项”按钮即在列表框的尾部追加一个新的项。 以下是概述 创建图标 使用 QIcon 创建一个新的图标这里使用了名为 “2.ico” 的图标。创建新的 QListWidgetItem 使用 new QListWidgetItem(新增的项目) 创建一个新的 QListWidgetItem 对象设置了文本为 “新增的项目”。设置图标和状态 使用 setIcon 设置项的图标setCheckState 设置项的选中状态为选中setFlags 设置项的状态为可选择、可检查、可启用。追加到控件 使用 ui-listWidget-addItem(aItem) 将新创建的项追加到列表框的尾部。 该槽函数的作用是在列表框的尾部追加一个新的项该项包含指定的文本、图标以及初始的选中状态。 void MainWindow::on_pushButton_add_clicked() {QIcon aIcon;aIcon.addFile(:/image/2.ico);QListWidgetItem *aItem new QListWidgetItem(新增的项目); // 增加项目名aItem-setIcon(aIcon); // 设置图标aItem-setCheckState(Qt::Checked); // 设置为选中aItem-setFlags(Qt::ItemIsSelectable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);ui-listWidget-addItem(aItem); // 增加到控件 }如下槽函数 on_pushButton_ins_clicked 的核心功能是实现一个“指定位置插入一项”按钮即在列表框的指定位置插入一个新的项。 以下是概述 创建图标 使用 QIcon 创建一个新的图标这里使用了名为 “3.ico” 的图标。创建新的 QListWidgetItem 使用 new QListWidgetItem(插入的数据) 创建一个新的 QListWidgetItem 对象设置了文本为 “插入的数据”。设置图标和状态 使用 setIcon 设置项的图标setCheckState 设置项的选中状态为选中setFlags 设置项的状态为可选择、可检查、可启用。在指定位置插入项 使用 ui-listWidget-insertItem(ui-listWidget-currentRow(), aItem) 在当前行的上方插入一个新项。 该槽函数的作用是在列表框的指定位置插入一个新的项该项包含指定的文本、图标以及初始的选中状态。 void MainWindow::on_pushButton_ins_clicked() {QIcon aIcon;aIcon.addFile(:/image/3.ico);QListWidgetItem *aItem new QListWidgetItem(插入的数据);aItem-setIcon(aIcon);aItem-setCheckState(Qt::Checked);aItem-setFlags(Qt::ItemIsSelectable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);// 在当前行的上方插入一个项ui-listWidget-insertItem(ui-listWidget-currentRow(),aItem); }运行效果如下图 1.5 删除列表一行 如下槽函数 on_pushButton_delete_clicked 的核心功能是实现一个“删除选中项”按钮即删除列表框中当前选中的项。 以下是概述 获取当前行 使用 ui-listWidget-currentRow() 获取当前选中项的行索引。移除指定行的项 使用 ui-listWidget-takeItem(row) 移除指定行的项该方法返回被移除的项的指针但不释放空间。释放空间 使用 delete aItem 释放被移除项的空间确保不发生内存泄漏。 该槽函数的作用是删除列表框中当前选中的项同时释放相应的内存空间。 void MainWindow::on_pushButton_delete_clicked() {// 获取当前行int row ui-listWidget-currentRow();// 移除指定行的项,但不deleteQListWidgetItem *aItem ui-listWidget-takeItem(row);// 释放空间delete aItem; }运行效果如下图 1.6 绑定右键菜单 在之前的内容中我们展示了如何给MainWindow主窗体增加右键菜单本节我们将给ListWidget增加右键菜单当用户在ListWidget组件中的任意一个子项下右键则让其弹出这个菜单并根据选择提供不同的功能。 首先我们绘制两个UI界面并通过Tab组件将其分离开为了方便演示我们需要手动增加列表项内容增加方法是在ListWidget上面右键并选中编辑项目按钮此时就可以逐行向列表中录入数据集。 为了增加菜单我们首先需要在程序全局增加QAction其中每一个QAction则代表一个菜单选项指针由于我们计划增加三个菜单选项则此处就保留三个全局菜单指针。 #include QMenuBar #include QMenu #include QToolBar #include iostream// 全局下设置增加删除菜单 QAction *NewAction; QAction *InsertAction; QAction *DeleteAction;首先以右键菜单演示为例在MainWindow主函数中首先通过创建顶部菜单并将其设置为隐藏属性接着通过Connect将每一个子菜单与Action进行连接代码如下所示 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);// ----------------------------------------------------// 绘制部分// ----------------------------------------------------// 使用 customContextMenuRequested 信号则需要设置ui-listWidget-setContextMenuPolicy(Qt::CustomContextMenu);// 隐藏菜单栏上的右击菜单this-setContextMenuPolicy(Qt::NoContextMenu);// 创建基础顶部菜单QMenuBar *bar menuBar();this-setMenuBar(bar);QMenu * fileMenu bar-addMenu(菜单1);// 隐藏顶部菜单栏bar-setVisible(false);// 添加子菜单NewAction fileMenu-addAction(增加IP地址);InsertAction fileMenu-addAction(插入IP地址);DeleteAction fileMenu-addAction(删除IP地址);// 分别设置图标NewAction-setIcon(QIcon(:/image/1.ico));InsertAction-setIcon(QIcon(:/image/2.ico));DeleteAction-setIcon(QIcon(:/image/3.ico));// ----------------------------------------------------// 绑定槽函数// ----------------------------------------------------connect(NewAction,QAction::triggered,this,[](){std::cout new action std::endl;});connect(InsertAction,QAction::triggered,this,[](){std::cout insert action std::endl;});// 以删除为例,演示如何删除选中行connect(DeleteAction,QAction::triggered,this,[](){int row ui-listWidget-currentRow();QListWidgetItem *aItem ui-listWidget-takeItem(row);delete aItem;std::cout delete action std::endl;}); }接着当ListWidget右键被点击时则触发on_listWidget_customContextMenuRequested槽函数在该槽函数内我们通过new QMenu新建菜单并通过addAction属性将其插入到被点击位置上其代码如下所示 // 当listWidget被右键点击时则触发 void MainWindow::on_listWidget_customContextMenuRequested(const QPoint pos) {std::cout x pos pos.x() y pos pos.y() std::endl;Q_UNUSED(pos);// 新建Menu菜单QMenu *ptr new QMenu(this);// 添加Actions创建菜单项ptr-addAction(NewAction);ptr-addAction(InsertAction);// 添加一个分割线ptr-addSeparator();ptr-addAction(DeleteAction);// 在鼠标光标位置显示右键快捷菜单ptr-exec(QCursor::pos());// 手工创建的指针必须手工删除delete ptr; }运行后读者可自行在特定行上点击右键此时则会弹出菜单栏如下图所示 接着来看下图标组的设置与绑定右键菜单的实现方式第二种方式的绑定与第一种一致唯一的区别仅仅只是显示设置上的不同如下是第二种方法的显示配置代码 // 第二个ListWidget_使用图标方式展示 ui-listWidget_ico-setViewMode(QListView::IconMode);// 每一行是一个QListWidgetItem QListWidgetItem *aItem;// 设置ICON的图标 QIcon aIcon; aIcon.addFile(:/image/1.ico);ui-listWidget_ico-clear(); for(int x0;x10;x) {QString str QString::asprintf(admin_%d,x);aItem new QListWidgetItem(); // 新建一个项aItem-setText(str); // 设置文字标签aItem-setIcon(aIcon); // 设置图标//aItem-setCheckState(Qt::Checked); // 设为选中状态aItem-setFlags(Qt::ItemIsSelectable | // 设置为不可编辑状态Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);ui-listWidget_ico-addItem(aItem); // 增加项 }使用时只需要按照相同的方式绑定菜单即可运行效果如下图所示
http://wiki.neutronadmin.com/news/67666/

相关文章:

  • 嘉兴公司的网站设计那个网站可以做数学题赚钱
  • 义乌做网站多少钱王也高清壁纸图片
  • 设计做兼职最好的网站大连软件开发网站建设
  • 网站生成app 免费工具牧童蝉网站建设
  • 云主机开网站教程司法局门户网站建设该报告
  • jsp 做网站需要什么徐州seo代理计费
  • 学习建设网站需要多久网站外包开发 代码的版权问题
  • 网站设计主色学校商城类网站能做响应式设计吗
  • 大连网站制作选择ls15227论坛推广技巧
  • 做外贸在哪个网站做网站后有人抢注关键词
  • wordpress密码可见seo外链
  • 企业网站php源码pinthis wordpress
  • 网站百度推广和优化营口网站建设单位
  • 南京那些公司做网站现在的网站建设用什么语言
  • 定制开发电商网站建设公司ie域名
  • 网站开发众包平台新手怎么做网站内容维护
  • 温州专业网站托管制作网页的软件免费
  • 江西邮电建设工程有限公司网站大丰做网站建设的公司
  • 赣州做网站的公司青提wifi小程序开发教程
  • 一个网站开发环境是什么网页制作网站受众群体分析
  • 泰州专业制作网站望城经开区建设开发公司门户网站
  • wordpress网站做h5分类安卓手机app下载软件
  • 网站集约化建设存在的问题网站可以放多少视频
  • 如何做社交网站宿州建设网站公司哪家好
  • 如何做网站描述怎样做静态网站
  • 本地计算机做网站服务器建设厅电工证查询网站
  • 常州市经开区建设局网站成都网销网站
  • 企业展示网站网站后台图片模板
  • 高端型网站给大家黄页推广网站
  • 郑州做网站优化最好的公司重庆网页制作设计营销