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

58同城网站模板下载护肤品推广软文

58同城网站模板下载,护肤品推广软文,产品展示网站源码,企业h5网站建设创建主窗口 MainWindow,添加 QTableView 显示任务 步骤 创建 MainWindow 类,继承自 QMainWindow。在 MainWindow 的构造函数中,创建 TaskModel 和 QTableView,并将 TaskModel 设置为 QTableView 的模型。 头文件 #pragma once…

创建主窗口 MainWindow,添加 QTableView 显示任务

步骤

  • 创建 MainWindow 类,继承自 QMainWindow。
  • 在 MainWindow 的构造函数中,创建 TaskModel 和 QTableView,并将 TaskModel 设置为 QTableView 的模型。

头文件

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_MainWindow.h"
#include"Task.h"
#include<qtableview.h>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindowClass ui;QTableView* taskTableView; TaskModel* taskModel;
};

为什么成员变量不使用智能指针,因为Qt有自己的一套资源回收机制,通过指定父窗口实现当父窗口销毁时,子窗口一同销毁。

源文件

#include "MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);taskModel = new TaskModel(this);taskTableView = new QTableView(this);taskTableView->setModel(taskModel);setCentralWidget(taskTableView);
}MainWindow::~MainWindow()
{}

实现任务的增删改查功能

步骤

  • 在 MainWindow 中添加按钮用于添加、删除、修改和查询任务。
  • 连接按钮的点击信号到相应的槽函数,在槽函数中调用 TaskModel 的方法实现任务的增删改查。

头文件


class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_addButton_clicked();void on_deleteButton_clicked();void on_updateButton_clicked();void on_searchButton_clicked();private:Ui::MainWindowClass ui;QTableView* taskTableView; TaskModel* taskModel;
};

源文件


void MainWindow::on_addButton_clicked()
{bool ok;QString title = QInputDialog::getText(this, "Add Task", "Title:", QLineEdit::Normal, "", &ok);if (ok && !title.isEmpty()){Task task(-1, title, "", Task::Medium, QDate(), false);if (taskModel->addTask(task)){QMessageBox::information(this, "Success", "Task added successfully.");}else{QMessageBox::critical(this, "Error", "Failed to add task.");}}
}void MainWindow::on_deleteButton_clicked()
{QModelIndexList selectedRows = taskTableView->selectionModel()->selectedRows();if (!selectedRows.isEmpty()){int taskId = taskModel->data(taskModel->index(selectedRows.first().row(), TaskModel::IdColumn)).toInt();if (taskModel->deleteTask(taskId)){QMessageBox::information(this, "Success", "Task deleted successfully.");}else{QMessageBox::critical(this, "Error", "Failed to delete task.");}}
}void MainWindow::on_updateButton_clicked()
{QModelIndexList selectedRows = taskTableView->selectionModel()->selectedRows();if (!selectedRows.isEmpty()){int taskId = taskModel->data(taskModel->index(selectedRows.first().row(), TaskModel::IdColumn)).toInt();bool ok;QString title = QInputDialog::getText(this, "Update Task", "Title:", QLineEdit::Normal,taskModel->data(taskModel->index(selectedRows.first().row(), TaskModel::TitleColumn)).toString(), &ok);if (ok && !title.isEmpty()){Task task(taskId, title, "", Task::Medium, QDate(), false);if (taskModel->updateTask(task)){QMessageBox::information(this, "Success", "Task updated successfully.");}else{QMessageBox::critical(this, "Error", "Failed to update task.");}}}
}void MainWindow::on_searchButton_clicked()
{bool ok;QString searchText = QInputDialog::getText(this, "Search Task", "Search:", QLineEdit::Normal, "", &ok);if (ok){taskModel->setSearchText(searchText);}
}我先创建对应的槽函数,为后面按键信号与槽链接做准备。
http://www.dtcms.com/wzjs/301269.html

相关文章:

  • vs2010网站开发 调试 打不开页面 浏览器错误吉安seo
  • 跳转网站怎么做网络营销是以什么为中心
  • 怎么做律师事务所的网站在线子域名二级域名查询工具
  • 网站开发职业环境分析线上推广产品
  • 手机上搭建个人网站西安网站建设公司排行榜
  • 长沙网站制作多少钱廊坊seo关键词排名
  • 建设网站如何给页面命名百度公司在哪
  • 东莞网站排名优化价格汕头seo关键词排名
  • 公司建网站会计分录公司网站建设哪家公司好
  • 建网站多少钱一平方2019年度最火关键词
  • 在哪些网站能接到活做广州最新新闻
  • 北京小程序网站制作竞价托管公司
  • 织梦下载网站模板成人短期就业培训班
  • php网站开发工程师招聘会数据营销
  • 怎么办理营业执照网站优化排名推荐
  • 手机网站js电话悬浮优秀网页设计
  • 网站开发实验室建设方案百度广告平台电话
  • 哪些企业网站做得好网站群发软件
  • 设置网站维护页面深圳短视频seo教程
  • 北京市城乡和建设规委官方网站360关键词推广
  • 企业快速建站系统有必要买优化大师会员吗
  • 福州 网站备案优化公司组织架构
  • 网站建设工程师 html5微信朋友圈广告投放
  • 性做爰网站促销策略的四种方式
  • 国内优秀个人网站欣赏百度小说搜索排行榜
  • 中国电信网上营业厅天津百度网站排名优化
  • WordPress多站點支付插件长春网站推广排名
  • 网页设计师主要是做什么的呢seo如何快速出排名
  • 个人网站备案名称举例百度应用商店下载安装
  • 小区媒体网站建设搜索引擎国外