文件: 数学逻辑: 以上根据位置  显示出了序号  并且根据值 调整了背景颜色 做提醒
QT  鼠标单击提取鼠标位置
1.还是在之前的MianWindow上写的

 这里我的按钮的位置是屏幕下120的位置2.mainwindow.h文件:
 #include <QMouseEvent> public: //构造函数 explicit MainWindow(QWidget *parent = 0); //析构函数 ~MainWindow(); //设定虚函数 virtual void mouseReleaseEvent(QMouseEvent *event); //鼠标事件 //变量 int NUM_HH; //窗口坐标 3.对应点mainwindow.cpp
/*  * 2.鼠标单击按钮 显示窗口 **/ void MainWindow::mouseReleaseEvent(QMouseEvent *event) { int wd,hi,x,y; if(event->button() == Qt::LeftButton){        wd = this->geometry().width(); //获取当前界面宽度并赋值        hi = this->geometry().height(); //获取当前页面高度并赋值         x = event->pos().x(); //鼠标所在X位置        y = event->pos().y(); //鼠标所在Y位置        NUM_HH = (x/(wd/8))+(((y-120)/((hi-120)/8))*8); qDebug() << NUM_HH ; //在按钮所在的窗口区域触发 if(y>120){ //弹出新的窗口             MeasResult result;             result.exec(); } } } 
 是在窗口下的120位置开始计算 所以先减去120
 因为我的界面是8*8的 所以以上是用的84.以上点击后会跳转至MeasResult
4.1 mainresult.h 文件内: #ifndef MEASRESULT_H #define MEASRESULT_H #include <QDialog> #include <QTableView> #include <QStandardItemModel> #include "mainwindow.h" namespace Ui { class MeasResult; } class MeasResult : public QDialog {     Q_OBJECT  public: explicit MeasResult(QWidget *parent = 0); ~MeasResult(); private slots: private:     Ui::MeasResult *ui; }; #endif // MEASRESULT_H 4.2 对应的measresult.cpp文件: #include "measresult.h" #include "ui_measresult.h" #include <QStandardItem> #include <QHeaderView> #include <QStandardItemModel> extern MainWindow *mainWin; MeasResult::MeasResult(QWidget *parent) : QDialog(parent), ui(new Ui::MeasResult) {     ui->setupUi(this); //提供了用于存储自定义数据的通用模型         QStandardItemModel *model = new QStandardItemModel(0,8); //        model->setHeaderData(0,Qt::Horizontal,tr("column 信息  底下被隐藏  所以不做设定")) //插入数据 //model->item(4,8);             model->insertRows(0,1); //插入第一行             model->setData(model->index(0,0), tr("板  序"));              model->setData(model->index(0,1), tr("产品型号"));              model->setData(model->index(0,2), tr("电压上限"));             model->setData(model->index(0,3), tr("电压下限"));             model->setData(model->index(0,4), tr("电流上限"));             model->setData(model->index(0,5), tr("电流下限"));             model->setData(model->index(0,6), tr("结果判定"));             model->setData(model->index(0,7), tr("通 道 数"));                          model->insertRows(1,1); //插入第二行             model->setData(model->index(1,0), mainWin->NUM_HH+1);              model->setData(model->index(1,1), mainWin->condMeasure.product_model);             model->setData(model->index(1,2), mainWin->condMeasure.u_li.up);             model->setData(model->index(1,3), mainWin->condMeasure.u_li.down);             model->setData(model->index(1,4), mainWin->condMeasure.i_li.up);             model->setData(model->index(1,5), mainWin->condMeasure.i_li.down);             model->setData(model->index(1,6), mainWin->paraMeasure[mainWin->NUM_HH].ok); //根据返回值  设定对应的背景颜色 if((mainWin->paraMeasure[mainWin->NUM_HH].ok) == 0){ //0  ng                  model->item(1,6)->setBackground(Qt::red); }else if((mainWin->paraMeasure[mainWin->NUM_HH].ok) == 1){ //1 ok                 model->item(1,6)->setBackground(Qt::green); }else{ //2 none                 model->item(1,6)->setBackground(Qt::gray); }             model->setData(model->index(1,7), mainWin->condMeasure.channel_num);                          model->insertRows(2,1); //插入第三行             model->setData(model->index(2,0), tr("电压一结果"));             model->setData(model->index(2,1), tr("电压一判定"));             model->setData(model->index(2,2), tr("电流一结果"));             model->setData(model->index(2,3), tr("电流一判定"));             model->setData(model->index(2,4), tr("电压二结果"));             model->setData(model->index(2,5), tr("电压二判定"));             model->setData(model->index(2,6), tr("电流二结果"));             model->setData(model->index(2,7), tr("电流二判定"));             model->insertRows(3,1); //插入第四行             model->setData(model->index(3,0), QString::number(mainWin->paraMeasure[mainWin->NUM_HH].V1,'f',3));             model->setData(model->index(3,1), mainWin->paraMeasure[mainWin->NUM_HH].pV1);             model->setData(model->index(3,2), QString::number(mainWin->paraMeasure[mainWin->NUM_HH].I1,'f',3));             model->setData(model->index(3,3), mainWin->paraMeasure[mainWin->NUM_HH].pI1);             model->setData(model->index(3,4), QString::number(mainWin->paraMeasure[mainWin->NUM_HH].V2,'f',3));             model->setData(model->index(3,5), mainWin->paraMeasure[mainWin->NUM_HH].pV2);             model->setData(model->index(3,6), QString::number(mainWin->paraMeasure[mainWin->NUM_HH].I2,'f',3));             model->setData(model->index(3,7), mainWin->paraMeasure[mainWin->NUM_HH].pI2);          ui->tableView->horizontalHeader()->setVisible(false);//显示或隐藏表头         ui->tableView->verticalHeader()->setVisible(false);//显示或隐藏序列行         ui->tableView->setAutoScroll(false);//自动滚动条         ui->tableView->resizeColumnsToContents(); //根据内容调整大小         ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//根据容器调整大小         ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);//只读         ui->tableView->setSelectionBehavior(QAbstractItemView::SelectItems); //设置选中模式为单元格         ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection); //设置选中单行         ui->tableView->setModel(model); //使用 }  MeasResult::~MeasResult() { delete ui; } 5.看一下效果

6.谢谢观看  一起学习 L_taxy@163.com;
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
 官方软件产品操作指南 (170)
官方软件产品操作指南 (170)