#include "transmitdetailwidget.h"
#include "ui_transmitdetailwidget.h"
#include "FrameLessHelper/frame_less_helper.h"
TransmitDetailWidget::TransmitDetailWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::TransmitDetailWidget)
{
ui->setupUi(this);
FrameLessHelper *pHelper = new FrameLessHelper(this);
pHelper->activate_on(this); //激活当前窗体
pHelper->set_title_height(20); //设置窗体的标题栏高度
pHelper->set_widget_movable(true); //设置窗体可移动
pHelper->set_widget_resizable(true); //设置窗体可缩放
pHelper->set_rubber_band_on_move(false); //设置橡皮筋效果-可移动
pHelper->set_rubber_band_on_resize(false); //设置橡皮筋效果-可缩放
init_layout();
init_window_style();
init_models();
test_view_data();
}
TransmitDetailWidget::~TransmitDetailWidget()
{
m_history_speed_curve->deleteLater();
delete ui;
}
void TransmitDetailWidget::init_window_style()
{
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);
this->setMouseTracking(true);
return;
}
void TransmitDetailWidget::init_layout()
{
this->layout()->setSpacing(0);
this->layout()->setMargin(0);
ui->widget->layout()->setMargin(5);
ui->widget->layout()->setSpacing(0);
ui->widget_2->layout()->setMargin(0);
ui->widget_2->layout()->setSpacing(0);
m_corner_widget = new QWidget();
m_corner_widget_layout = new QHBoxLayout();
m_close_pushButton = new QPushButton();
m_close_pushButton->setFixedSize(14, 14);
m_show_detail_pushButton = new QPushButton();
m_show_detail_pushButton->setFixedSize(14, 14);
m_corner_widget_layout->addWidget(m_show_detail_pushButton);
QWidget *spacing_widget = new QWidget();
spacing_widget->setFixedSize(10,35);
m_corner_widget_layout->addWidget(spacing_widget);
m_corner_widget_layout->addWidget(m_close_pushButton);
m_corner_widget_layout->setMargin(0);
m_corner_widget_layout->setSpacing(0);
m_corner_widget->setLayout(m_corner_widget_layout);
ui->tabWidget->setCornerWidget(m_corner_widget, Qt::TopRightCorner);
ui->tabWidget->setTabText(0, tr("完成"));
ui->tabWidget->setTabText(1, tr("失败"));
ui->tabWidget->setStyleSheet("QTabBar::tab \
{\
min-width: 170px;\
font-family: 'microsoft YaHei';\
font-size: 14px;\
min-height: 30px;\
margin: 0px;\
border-style:none;\
}"
"QTabBar::tab:selected, QTabBar::tab:hover {\
border-style:none none solid none;\
border-width: 0px 0px 5px 2px;\
border-color:#e6e6e6 #e6e6e6 #66ccff #e6e6e6;\
}"
"QTabBar{border-style:none;}"
"QTabWidget{border-style:none;}"
"QTabWidget::pane {border: none;}"
);
ui->tab->layout()->setMargin(0);
ui->tab->layout()->setSpacing(0);
connect(m_close_pushButton, SIGNAL(clicked()), this, SLOT(close_pushButton_clicked_slot()));
m_history_speed_curve = new HistorySpeedCurve();
m_history_speed_curve->hide_window();
connect(m_show_detail_pushButton, SIGNAL(clicked()), m_history_speed_curve, SLOT(show_window()));
m_close_pushButton->setStyleSheet("QPushButton:hover{border-image:url(:/btn_close_hover.png);}"
"QPushButton{border-image: url(:/btn_close.png);}");
m_show_detail_pushButton->setStyleSheet("QPushButton:hover{border-image:url(:/btn_history_hover.png);}"
"QPushButton{border-image: url(:/btn_history.png);}");
return;
}
#include <QScrollBar>
void TransmitDetailWidget::init_models()
{
m_transmit_files_model = new TableModel(this);
ui->completed_files_tableView->setModel(m_transmit_files_model);
QStringList transmit_files_model_header;
transmit_files_model_header << tr("文件名") << tr("大小") << tr("进度") << tr("开始时间") << tr("结束时间");
m_transmit_files_model->setHorizontalHeaderList(transmit_files_model_header);
m_transmit_files_model->setModalDatas(&m_transmit_files_grid_data_list);
m_transmit_files_model->refrushModel();
ui->completed_files_tableView->horizontalHeader()->setSectionResizeMode(transmit_files_model_header.size() - 1, QHeaderView::Stretch);
ui->completed_files_tableView->verticalHeader()->hide();
QFont font = ui->completed_files_tableView->horizontalHeader()->font();
font.setBold(true);
ui->completed_files_tableView->setItemDelegate(new NoFocusDelegate());
ui->completed_files_tableView->horizontalHeader()->setFont(font);
ui->completed_files_tableView->setShowGrid(false);
ui->completed_files_tableView->setFrameShape(QFrame::NoFrame);
ui->completed_files_tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->completed_files_tableView->setSelectionMode(QAbstractItemView::ExtendedSelection);
ui->completed_files_tableView->horizontalScrollBar()->setStyleSheet("QScrollBar{background:transparent; height:10px;}"
"QScrollBar::handle{background:lightgray; border:2px solid transparent; border-radius:5px;}"
"QScrollBar::handle:hover{background:gray;}"
"QScrollBar::sub-line{background:transparent;}"
"QScrollBar::add-line{background:transparent;}");
ui->completed_files_tableView->verticalScrollBar()->setStyleSheet("QScrollBar{background:transparent; width: 10px;}"
"QScrollBar::handle{background:lightgray; border:2px solid transparent; border-radius:5px;}"
"QScrollBar::handle:hover{background:gray;}"
"QScrollBar::sub-line{background:transparent;}"
"QScrollBar::add-line{background:transparent;}");
ui->completed_files_tableView->setStyleSheet("selection-background-color:lightblue;");
ui->completed_files_tableView->horizontalHeader()->setStyleSheet("QHeaderView::section {\
padding: 6px 0px;\
margin: 0px;\
color: #272727;\
border: none;\
border-right-width: 1px;\
border-right-color: #eeeeee;\
border-right-style: solid;\
background: #ffffff;\
font-weight:bold;\
}");
m_failed_files_model = new TableModel(this);
ui->failed_files_tableView->setModel(m_failed_files_model);
QStringList failed_files_model_header;
failed_files_model_header << tr("文件名") << tr("本地路径") << tr("云端路径") << tr("失败原因");
m_failed_files_model->setHorizontalHeaderList(failed_files_model_header);
m_failed_files_model->setModalDatas(&m_failed_files_grid_data_list);
m_failed_files_model->refrushModel();
ui->failed_files_tableView->horizontalHeader()->setSectionResizeMode(failed_files_model_header.size() - 1, QHeaderView::Stretch);
ui->failed_files_tableView->verticalHeader()->hide();
QFont font2 = ui->completed_files_tableView->horizontalHeader()->font();
font2.setBold(true);
ui->failed_files_tabl
没有合适的资源?快使用搜索试试~ 我知道了~
Qt tableview 和qchart的初步使用范例
共23个文件
h:7个
cpp:7个
png:4个
5星 · 超过95%的资源 需积分: 36 36 下载量 143 浏览量
2018-08-22
17:10:37
上传
评论 2
收藏 23KB RAR 举报
温馨提示
自定义tablemodel 使用qchart绘制曲线图,横轴使用时间轴 使用stylesheet优化界面显示 http://blog.csdn.net/liang19890820/article/details/50557240 修改自 一去丶二三里 整理的代码framelesshelper
资源推荐
资源详情
资源评论
收起资源包目录
table_view_and_chart_widget.rar (23个子文件)
table_view_and_chart_widget
btn_close.png 1KB
btn_close_hover.png 1KB
btn_history.png 962B
transmitdetailwidget.h 3KB
transmit_detail_widget.pro.user 63KB
transmitdetailwidget.cpp 17KB
history_speed_curve.h 3KB
FrameLessHelper
cursor_pos_calculator.h 869B
frame_less_helper.h 1KB
frame_less_helper_p.h 545B
cursor_pos_calculator.cpp 2KB
widget_data.cpp 8KB
widget_data.h 2KB
frame_less_helper.cpp 3KB
tablemodel.cpp 4KB
tablemodel.h 1KB
main.cpp 207B
transmit_detail_widget.pro 2KB
transmit_detail_resource.qrc 221B
transmitdetailwidget.ui 5KB
history_speed_curve.ui 4KB
btn_history_hover.png 962B
history_speed_curve.cpp 5KB
共 23 条
- 1
资源评论
- XiaoSTU2019-07-03我觉得挺好用的
渣渣soul
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功