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

河南专业网站建设招聘微搭低代码平台

河南专业网站建设招聘,微搭低代码平台,公司做网站让拍照备案,小程序seo排名文章目录 1. 实例简介2. 源码2.1 混合式界面设计2.2 mainwindow.h2.3 mainwindow.cpp 1. 实例简介 Qt 中用于项 (Item)处理的组件有两类#xff0c;一类是 Item Views#xff0c;包括 QListView、QTreeView、QTableView、QColumnView 等;另一类是 Item Widgets#xff0c;包… 文章目录 1. 实例简介2. 源码2.1 混合式界面设计2.2 mainwindow.h2.3 mainwindow.cpp 1. 实例简介 Qt 中用于项 (Item)处理的组件有两类一类是 Item Views包括 QListView、QTreeView、QTableView、QColumnView 等;另一类是 Item Widgets包括 QListWidget、QTreeWidget 和QTableWidget。 Item Views 基于模型/视图(Model/Vicw)结构视图 (View)与模型数据(Model Data)关联实现数据的显示和编辑模型/视图结构的使用在第5 章详细介绍。 Item Widgets 是直接将数据存储在每一个项里例如QListWidget 的每一行是一个项QTreeWidget 的每个节点是一个项QTableWidget 的每一个单元格是一个项。一个项存储了文字文字的格式、自定义数据等。 Item Widgets 是GUI 设计中常用的组件本节通过实例 samp4_7 先介绍 QListWidget 以及其他一些组件的用法实例运行时界面如图 4-8 所示。 本实例不仅介绍QListWidget 的使用还包括如下一些功能的实现。 使用QTabWidget 设计多页界面工作区右侧就是一个具有 3 个页面的 TabWidget 组件。使用QToolBox 设计多组工具箱工作区左侧是一个有 3 个组的 TolBox 组件。使用分隔条(QSplitter) 设计可以左右分割的界面工作区的 TolBox 和 TabWidget 之间有一个 splitter运行时可以分割调整两个组件的大小。创建Actions用Actions 设计主工具栏用Action 关联 QToolButton 按钮。使用 QToolButton 按钮设置与 Action 关联设计具有下拉菜单功能的 ToolButton 按钮在主工具栏上添加具有下拉菜单的 ToolButton 按钮。使用 QListWidget演示如何创建和添加项为项设置图标和复选框如何遍历列表进行选择。QListWidget的主要信号currentItemChanged()的功能编写响应槽函数。为QListWidget 组件利用已设计的 Actions 创建自定义快捷菜单。 关于上述提到详细的请参考源码及书籍 2. 源码 2.1 混合式界面设计 2.2 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include QListWidgetItemnamespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTprivate:void setActionsForButton();void createSelectionPopMenu(); public:explicit MainWindow(QWidget *parent 0);~MainWindow();private slots:void on_actListClear_triggered(); //清除项void on_actListIni_triggered(); //项初始化void on_chkBoxListEditable_clicked(bool checked); //chkBoxListEditable单击事件//当前选择项发生变化void on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);void on_actListInsert_triggered(); //插入项void on_actListAppend_triggered(); //添加项void on_actListDelete_triggered(); //删除当前项void on_listWidget_customContextMenuRequested(const QPoint pos); //弹出菜单void on_toolBox_currentChanged(int index); //ToolBox当前组变化时显示TabWidget相应的页面void on_actSelALL_triggered(); //全选void on_actSelNone_triggered();//全不选void on_actSelInvs_triggered();//反选private:Ui::MainWindow *ui; };#endif // MAINWINDOW_H 2.3 mainwindow.cpp #include mainwindow.h #include ui_mainwindow.h #include QMenuvoid MainWindow::setActionsForButton() {//为QToolButton按钮设置Actionui-tBtnListIni-setDefaultAction(ui-actListIni);ui-tBtnListClear-setDefaultAction(ui-actListClear);ui-tBtnListInsert-setDefaultAction(ui-actListInsert);ui-tBtnListAppend-setDefaultAction(ui-actListAppend);ui-tBtnListDelete-setDefaultAction(ui-actListDelete);ui-tBtnSelALL-setDefaultAction(ui-actSelALL);ui-tBtnSelNone-setDefaultAction(ui-actSelNone);ui-tBtnSelInvs-setDefaultAction(ui-actSelInvs); }void MainWindow::createSelectionPopMenu() { //创建下拉菜单QMenu* menuSelectionnew QMenu(this); //创建选择弹出式菜单menuSelection-addAction(ui-actSelALL);menuSelection-addAction(ui-actSelNone);menuSelection-addAction(ui-actSelInvs);//listWidget上方的tBtnSelectItem按钮ui-tBtnSelectItem-setPopupMode(QToolButton::MenuButtonPopup);//菜单弹出模式执行按钮的Actionui-tBtnSelectItem-setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //按钮样式ui-tBtnSelectItem-setDefaultAction(ui-actSelPopMenu);//关联Actionui-tBtnSelectItem-setMenu(menuSelection); //设置下拉菜单//工具栏上的 下拉式菜单按钮QToolButton *aBtnnew QToolButton(this);aBtn-setPopupMode(QToolButton::InstantPopup);//buttons own action is not triggered.aBtn-setToolButtonStyle(Qt::ToolButtonTextUnderIcon);//按钮样式aBtn-setDefaultAction(ui-actSelPopMenu); //设置Action,获取图标、标题等设置aBtn-setMenu(menuSelection);//设置下拉菜单ui-mainToolBar-addWidget(aBtn); //工具栏添加按钮//工具栏添加分隔条和“退出”按钮ui-mainToolBar-addSeparator();ui-mainToolBar-addAction(ui-actQuit); }MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui-setupUi(this);setCentralWidget(ui-splitter); //设置中心组件setActionsForButton();createSelectionPopMenu(); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_actListClear_triggered() {ui-listWidget-clear(); //清除项 }void MainWindow::on_actListIni_triggered() { //初始化项QListWidgetItem *aItem; //每一行是一个QListWidgetItemQIcon aIcon;aIcon.addFile(:/images/icons/check2.ico); //设置ICON的图标bool chkui-chkBoxListEditable-isChecked();//是否可编辑ui-listWidget-clear(); //清除项for (int i0; i10; i){QString strQString::asprintf(Item %d,i);aItemnew QListWidgetItem(); //新建一个项aItem-setText(str); //设置文字标签aItem-setIcon(aIcon);//设置图标aItem-setCheckState(Qt::Checked); //设置为选中状态if (chk) //可编辑, 设置flagsaItem-setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);else//不可编辑, 设置flagsaItem-setFlags(Qt::ItemIsSelectable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);ui-listWidget-addItem(aItem); //增加一个项} }void MainWindow::on_chkBoxListEditable_clicked(bool checked) { //可编辑 QCheckBox的响应代码 设置所有项是否可编辑int i,cnt;QListWidgetItem *aItem;cntui-listWidget-count();//项的个数for (i0; icnt; i){aItemui-listWidget-item(i);//获得一个项if (checked) //可编辑aItem-setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);elseaItem-setFlags(Qt::ItemIsSelectable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);}}void MainWindow::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) { //listWidget当前选中项发生变化QString str;if (current ! NULL) //需要检测变量指针是否为空{if (previousNULL) //需要检测变量指针是否为空str当前current-text();elsestr前一项previous-text(); 当前项current-text();ui-editCutItemText-setText(str);} }void MainWindow::on_actListInsert_triggered() { //插入一个项QIcon aIcon;aIcon.addFile(:/images/icons/check2.ico); //图标bool chkui-chkBoxListEditable-isChecked(); //是否可比那几QListWidgetItem* aItemnew QListWidgetItem(New Inserted Item); //创建一个项aItem-setIcon(aIcon);//设置图标aItem-setCheckState(Qt::Checked); //设置为checkedif (chk) //设置标记aItem-setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);elseaItem-setFlags(Qt::ItemIsSelectable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);ui-listWidget-insertItem(ui-listWidget-currentRow(),aItem); //在当前行的上方插入一个项}void MainWindow::on_actListAppend_triggered() {//增加一个项QIcon aIcon;aIcon.addFile(:/images/icons/check2.ico); //设定图标bool chkui-chkBoxListEditable-isChecked();//是否可编辑QListWidgetItem* aItemnew QListWidgetItem(New Added Item); //创建一个ItemaItem-setIcon(aIcon); //设置图标aItem-setCheckState(Qt::Checked); //设置为checkedif (chk) //设置标志aItem-setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);elseaItem-setFlags(Qt::ItemIsSelectable |Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);ui-listWidget-addItem(aItem);//增加一个项}void MainWindow::on_actListDelete_triggered() { //删除当前项int rowui-listWidget-currentRow();//当前行QListWidgetItem* aItemui-listWidget-takeItem(row); //移除指定行的项但不deletedelete aItem; //需要手工删除对象// QListWidgetItem *QListWidget::takeItem(int row) // Removes and returns the item from the given row in // the list widget; otherwise returns 0. // Items removed from a list widget will not be managed by Qt, // and will need to be deleted manually. }void MainWindow::on_listWidget_customContextMenuRequested(const QPoint pos) {Q_UNUSED(pos);QMenu* menuListnew QMenu(this); //创建菜单//添加Actions创建菜单项menuList-addAction(ui-actListIni);menuList-addAction(ui-actListClear);menuList-addAction(ui-actListInsert);menuList-addAction(ui-actListAppend);menuList-addAction(ui-actListDelete);menuList-addSeparator();menuList-addAction(ui-actSelALL);menuList-addAction(ui-actSelNone);menuList-addAction(ui-actSelInvs);menuList-exec(QCursor::pos()); //在鼠标光标位置显示右键快捷菜单delete menuList; //手工创建的指针必须手工删除 }void MainWindow::on_toolBox_currentChanged(int index) {ui-tabWidget-setCurrentIndex(index);//ToolBox当前页与tabWidget的当前页联动 }void MainWindow::on_actSelALL_triggered() { //项全选int cntui-listWidget-count();//项个数for (int i0; icnt; i){QListWidgetItem *aItemui-listWidget-item(i);//获取一个项aItem-setCheckState(Qt::Checked);//设置为选中} }void MainWindow::on_actSelNone_triggered() { //全不选int i,cnt;QListWidgetItem *aItem;cntui-listWidget-count();//项个数for (i0; icnt; i){aItemui-listWidget-item(i);//获取一个项aItem-setCheckState(Qt::Unchecked);//不选} }void MainWindow::on_actSelInvs_triggered() {//反选int i,cnt;QListWidgetItem *aItem;cntui-listWidget-count();//项个数for (i0; icnt; i){aItemui-listWidget-item(i);//获取一个项if (aItem-checkState()!Qt::Checked)aItem-setCheckState(Qt::Checked);elseaItem-setCheckState(Qt::Unchecked);}}
http://www.dnsts.com.cn/news/205475.html

相关文章:

  • 网站推广的基本方法是wordpress生活类主题
  • 做网站哪里找程序员网站后台制作视频教程
  • 网站建设开源程序开发网页的常用软件
  • node 做的大型网站招聘网站开发工程师
  • 网站下载地址移动微网站开发
  • 在线视频网站开发wordpress用网站测速
  • asp网站生成电商购物平台
  • 哪个网站开发小程序邯郸做网站的地方
  • 能看的网站给我一个呗大连 网站制作
  • 琼海网站建设公司拼多多刷销量网站开发
  • 购物网站开发的描述电商网站免费设计
  • 昆明网站seo服务中小微企业查询官网
  • 公司网站公司简介外贸原单童装哪个网站做
  • 浙江高端网站汽车装饰网站模板
  • 昆明凡科建站多少钱建设网站是不是必须要服务器
  • 企业网站源码带后台管理网站建设的三种方法
  • 登别的网站应怎么做合肥网络科技有限公司做网站
  • 屏山县建设招标网站wordpress手机适配模板
  • 做外贸密封件的网站蓝色大气网站源码
  • 自己的网站怎么做商城整合营销网站建设
  • 中科 网站会员注册系统建设抖音开放平台是干什么的
  • 有哪些网站可以做家教网页中的基本元素有哪些
  • 佳木斯市郊区建设局网站2023网站分享
  • 如何在网上做网站推广wordpress全屏首页
  • 怎么进入官方网站查询济南软件优化网站建设
  • 海外短视频平台网站大型科技网站建设
  • 南宁市网站开发什么是响应式网站建设
  • 企业网络营销策划必须以什么为核心德州鲁企动力网站优化中心
  • 网站开发代理江苏wordpress 美化 插件大全
  • 网站移动端建设c语言怎么做网站