首页| 论坛| 消息
主题:QT开发之旅五视频监管平台(开源)
回帖:lQueryModel(this);
LoadPollInfo();

QString columnNames[6]; //列名数组
int columnWidths[6];//列宽数组

//初始化表格列名和列宽
columnNames[0] = "编号";
columnNames[1] = "名称";
columnNames[2] = "NVR编号";
columnNames[3] = "NVR名称";
columnNames[4] = "主码流地址";
columnNames[5] = "子码流地址";

int width = myApp::DeskWidth - 246;
columnWidths[0] = width * 0.06;
columnWidths[1] = width * 0.11;
columnWidths[2] = width * 0.08;
columnWidths[3] = width * 0.11;
columnWidths[4] = width * 0.23;
columnWidths[5] = width * 0.23;

//依次设置列标题列宽
for (int i = 0; i < 6; i++) {
queryModule->setHeaderData(i, Qt::Horizontal, columnNames);
ui->tableMain->setColumnWidth(i, columnWidths);
}
}

12:精美开关按钮。
如下图:

之前在C#中写过这样的自定义控件,直接移植过来,无非就是两张图片切换,然后自定义一个属性记录当前是否选中。

13:重写过的消息框,错误框,询问框及输入框。

本人不喜欢系统的MessageBox,用QDialog重新布局自定义了一个。只需一句话调用即可。
//显示输入框
static QString ShowInputBox(QString info, bool &ok) {
frmInputBox input;
input.SetMessage(info);
ok = input.exec();
return input.GetValue();
}

//显示信息框,仅确定按钮
static void ShowMessageBoxInfo(QString info) {
frmMessageBox msg ;
msg.SetMessage(info, 0);
msg.exec();
}

//显示错误框,仅确定按钮
static void ShowMessageBoxError(QString info) {
frmMessageBox msg;
msg.SetMessage(info, 2);
msg.exec();
}

//显示询问框,确定和取消按钮
static int ShowMessageBoxQuesion(QString info) {
frmMessageBox msg;
msg.SetMessage(info, 1);
return msg.exec();
}

14:所有代码精简重构,并带有注释,初学者都可以看懂和学会。
15:fontawesome图形字体的使用,为界面增添色彩。
#include "iconhelper.h"

IconHelper *IconHelper::_instance = 0;
IconHelper::IconHelper(QObject *):
QObject(qApp)
{
int fontId = QFontDatabase::addApplicationFont(":/image/fontawesome-webfont.ttf");
QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0);
iconFont = QFont(fontName);
}

void IconHelper::SetIcon(QLabel *lab, QChar c, int size)
{
iconFont.setPointSize(size);
lab->setFont(iconFont);
lab->setText(c);
}

void IconHelper::SetIcon(QPushButton *btn, QChar c, int size)
{
iconFont.setPointSize(size);
btn->setFont(iconFont);
btn->setText(c);
}
界面上的最小化及关闭按钮,直接使用的图形字体,而不是贴图。
可执行文件下载:http://pan.baidu.com/s/1hqxhtbA
源码下载:http://pan.baidu.com/s/1mgFWeDU
编译运行后如果提示缺少数据库。将源码下的file文件夹下的配置文件config.txt及VM.db数据库文件复制到bin目录下即可。

说明:公开的源码去除了视频处理部分及样式部分,其余功能全部保留,并可完整编译运行。如果需要完整版本,可以支付宝赞助小弟辛苦费100元购买,这套系统可以当一个小型的视频监控系统用,比较完美,很少BUG。视频处理部分摸索了很久,曾经愿意花3000元购买类似解决方案无果,找到一家愿意以8000元的价格出售,无奈价格太高,整个私活的钱都不够,所以还是自己通宵费劲心思研究了出来。生活压力巨大!所以还望觉得完整版要收费的兄弟们口下留情,在此跪谢!

浏览大图


浏览大图


浏览大图


浏览大图


浏览大图

下一页上一页  (2/4)
下一楼›:楼主,牛人啊。开源自己的项目可喜可贺啊

查看全部回帖(98)
«返回主帖