QT学习:入门篇(三)
头文件:
#ifndef CChatDisplaySet_h
#define CChatDisplaySet_h
#include "QtGui/QDialog"
#include "ui_CChatDisplaySet.h"
#include "QtGui/QStandardItemModel"
#include <QStandardItem>
#include <QComboBox>
#include <QTreeView>
#include <QPushButton>
#include <QLabel>
class CChatDisplaySet : public QDialog
{
Q_OBJECT
public:
CChatDisplaySet(QWidget *parent = 0, Qt::WFlags flags = 0);
~CChatDisplaySet();
private:
void initLayout();
public:
private:
Ui::CChatDisplaySet ui;
//QList<QStandardItem *> items;
QStandardItemModel* Chat_Model;
QTreeView* m_pChatTreeView;
private slots:
void OnOk();
void OnCancel();
};
#endif //CChatDisplaySet_h
源文件
#include "CChatDisplaySet.h"
#include "QtGui/QGridLayout"
CChatDisplaySet::CChatDisplaySet(QWidget *parent, Qt::WFlags flags)
:QDialog(parent, flags)
{
ui.setupUi(this);
m_pChatTreeView = ui.treeView;
setWindowTitle(tr("图表显示设置"));
setFixedSize(550, 580);
initLayout();
}
CChatDisplaySet::~CChatDisplaySet()
{
}
void CChatDisplaySet::initLayout()
{
ui.lblColor->setText(tr("显示颜色"));
ui.cmbColor->insertItem(1, tr("订单的显示颜色"));
ui.btnOk->setText(tr("确定"));
ui.btnCancel->setText(tr("取消"));
connect(ui.btnOk, SIGNAL(clicked()), this, SLOT(OnOk));
connect(ui.btnCancel, SIGNAL(clicked()), this, SLOT(OnCancel));
Chat_Model = new QStandardItemModel(this);
QStringList header;
header << "设置";
Chat_Model->setHorizontalHeaderLabels(header);
QStandardItem* item1 = new QStandardItem("订单甘特图");
QStandardItem* item2 = new QStandardItem("图表全体");
QStandardItem* element1 = new QStandardItem("显示字符串");
QStandardItem* element2 = new QStandardItem("显示");
QStandardItem* element3 = new QStandardItem("工作显示颜色");
QStandardItem* element4 = new QStandardItem("订单显示系统");
QStandardItem* element5 = new QStandardItem("行显示");
QStandardItem* num1 = new QStandardItem("显示");
QStandardItem* num2 = new QStandardItem("操作");
QStandardItem* num3 = new QStandardItem("行构成");
QStandardItem* num4 = new QStandardItem("打印");
QStandardItem* num5 = new QStandardItem("打印字符串");
item1->appendRow(element1);
item1->appendRow(element2);
item1->appendRow(element3);
item1->appendRow(element4);
item1->appendRow(element5);
Chat_Model->appendRow(item1);
item2->appendRow(num1);
item2->appendRow(num2);
item2->appendRow(num3);
item2->appendRow(num4);
item2->appendRow(num5);
Chat_Model->appendRow(item2);
ui.treeView->setModel(Chat_Model);
}
void CChatDisplaySet::OnOk()
{
this->accept();
}
void CChatDisplaySet::OnCancel()
{
this->reject();
}
主函数
#include "CChatDisplaySet.h"
#include "chatdisplay.h"
#include <QtGui/QApplication>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
/*ChatDisplay w;
w.show();*/
//设置编码格式
QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("System"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
CChatDisplaySet chatdisplay;
chatdisplay.exec();
return a.exec();
}
运行结果展示:
QT学习:入门篇(三)的更多相关文章
- 【SSRS】入门篇(三) -- 为报表定义数据集
原文:[SSRS]入门篇(三) -- 为报表定义数据集 通过前两篇文件 [SSRS]入门篇(一) -- 创建SSRS项目 和 [SSRS]入门篇(二) -- 建立数据源 后, 我们建立了一个SSRS项 ...
- sass学习入门篇(三)
这章我们讲“嵌套”,嵌套包括两种:一,选择器嵌套.二是属性的嵌套.一般用选择器嵌套居多 一,选择器嵌套:指的是在一个选择器中嵌套另一个选择器来实现继承.使用&表示父元素选择器 li{ floa ...
- Android攻城狮学习笔记—入门篇三
第十章 CheckBox 与其他控件类似 有自己的监听方法 实现监听 并定义被选中或取消后的操作 第十一章 RadioGroup和RadioButton RadioGroup是RadioButton的 ...
- Python学习 - 入门篇1
前言 学习渠道:慕课网:Python入门 记录原因:人总归要向记忆低头[微笑再见.gif] 记录目标:形成简洁的知识点查阅手册 变量和数据类型 变量 赋值 在Python中,可以把任意数据类型赋值给变 ...
- TensorFlow学习——入门篇
本文主要通过一个简单的 Demo 介绍 TensorFlow 初级 API 的使用方法,因为自己也是初学者,因此本文的目的主要是引导刚接触 TensorFlow 或者 机器学习的同学,能够从第一步开始 ...
- JDK源码学习--String篇(三) 存储篇
在进一步解读String类时,先了解下内存分配和数据存储的. 数据存储 1.寄存器:最快的存储区,位于处理器的内部.由于寄存器的数量有限,所以寄存器是按需分配. 2.堆栈:位于RAM中,但是通过堆栈指 ...
- QT. 学习之路 三
添加一个动作: Qt 使用QAction类作为动作.QAction包含了图标.菜单文字.快捷键.状态栏文字.浮动帮助等信息.当把一个QAction对象添加到程序中时,Qt 自己选择使用哪个属性来显示, ...
- Qt学习日记篇-Qt中使用Curl和jsonCpp
1.Qt中安装并使用jsonCPP库 1.1 官网下载.https://sourceforge.net/projects/jsoncpp/ 解压文件得到 jsoncpp-src-0.5.0 文 ...
- QT学习日记篇-03-仿写一个智能家居界面
课程大纲: <1>让界面漂亮起来,仿写一个智能家居界面 ->第一:给QT工程添加图片 进入下一步: <注意路径和名称一定不能有中文> ...
- QT学习入门笔记
系统路径 path 添加dll路径,如D:\QT\5.4\mingw491_32. .pro 文件添加 QT += widgets,否则出现qapplication no such file or ...
随机推荐
- 转:Eclipse Kepler已支持Java 8
文章来自于:http://www.infoq.com/cn/news/2014/04/eclipse-kepler-support-java8 期待已久的Java 8已于2014年3月19日正式发布, ...
- SCALA中的抽象类代码样例
package com.hengheng.scala class AbstractClass { } abstract class People { def speak val name : Stri ...
- Keil C51总线外设操作问题的深入分析
阅读了<单片机与嵌入式系统应用>2005年第10期杂志<经验交流>栏目的一篇文章<Keil C51对同一端口的连续读取方法>(原文)后,笔者认为该文并未就此问题进行 ...
- 基于MINA框架快速开发网络应用程序
1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架.通过使用M ...
- java Future 模式
考慮這樣一個情況,使用者可能快速翻頁瀏覽文件中,而圖片檔案很大,如此在瀏覽到有圖片的頁數時,就會導致圖片的載入,因而造成使用者瀏覽文件時會有停頓 的現象,所以我們希望在文件開啟之後,仍有一個背景作業持 ...
- Android应用开发学习笔记之AsyncTask
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学习了多线程和Handler消息处理机制,如果有计算量比较大的任务,可以创建一个新线程执行计算工作 ...
- MyEclipse10 中增加svn插件
http://www.cnblogs.com/bluesky4485/archive/2012/04/23/2467177.html 确实这种方法可行!向牛人学习!
- 【转】android蓝牙开发---与蓝牙模块进行通信--不错
原文网址:http://www.cnblogs.com/wenjiang/p/3200138.html 近半个月来一直在搞android蓝牙这方面,主要是项目需要与蓝牙模块进行通信.开头的进展很顺利, ...
- delphi 写系统日志监控 转
不久前写了个抓取网页内容的小程序,跑了一晚上,本以为早上起来都抓完了,谁知道程序死掉了,分析半天,才发现用tmemo来记录日志的信息太多了,越积越多,本来memo的容量就不大.对于无法控制信息量的日志 ...
- SVN linux端配置
1.create a folder: mkdir /sandbox/svn 2.create svn repository: svnadmin create /sandbox/svn/ ...