控件

关于wxWidgets控件出现乱码

旧街凉风 提交于 2021-02-15 09:36:45
这两天在用wxWidgets做一个小程序,突然遇到了一个控件显示出现乱码的问题。 首先声明:我用的编译器是Visual Studio 2005,wxWidgets版本是2.8.12,下面的解决方法不一定对所有的平台都有效。 我们知道,wxWidgets中控件显示字符串一般都是用wxString,例如下面的一小段代码创建并显示一个按钮: // 创建一个按钮,显示名称就是“按钮” wxButton* oneButton = new wxButton( itemFrame1, ID_BUTTON, wxT("按钮"), wxDefaultPosition, wxDefaultSize, 0); // 把这个按钮放在一个BoxSizer中 itemBoxSizer->Add(oneButton, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); 上面的代码没有错误,显示截图如下: 但是,很多情况下,我们想要显示的控件的标签是先放在char *中的,我们当然要先转换成wxString,转换的方法有很多,比如用wxString::FromUTF8(),或者可以定义一个wxString对象,调用Printf方法。然而,两种方法都不行。 如下代码: char *label = "按钮"; wxString wxLabel; wxLabel.Printf(wxT("%s")

Qt报表控件NCReport教程:添加报表字段

放肆的年华 提交于 2020-04-09 19:50:24
NCReport 是一款轻量级、快速、多平台、简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序。 在前面的文章《报表控件NCReport教程:报表创建示例》中已经说明了NCReport中如何创建基础的报表,本文来看看如何为基础的报表添加字段。 在报表中最重要的部分就是中间的报表detail显示部分,由于在报表中这个部分的内容是由来自数据源的数据构成的行和列组成,所以就显得尤为重要了。 添加域Field步骤 一、在工具菜单中选择域工具按钮或者是菜单项目,这个时候光标就会发生变化,然后在报表中你想放置域的地方点击detail部分,这个样子就会在那个位置创建域对象,并打开域设置对话框。 需要指定下面的属性: Field sourcetype Field column/expression Datatype Datatype 二、 添加Field到detail部分,并将他们移动到示例中的位置。Field列的名字是:col0,col-1, col2,col3,col4,col5(另一种名字是:0,1,2,3,4,5),选择col4和col5 field项,并双击对齐按钮对齐,接着在Field对话框中设置数据类型为数字,并使用Numeric tab page来设置数字格式属性。 >>> 完整文章 >>> NCReport下载 来源:

报表控件NCReport教程:集成NCReport到Qt应用程序中

和自甴很熟 提交于 2020-04-09 19:50:05
NCReport是一款轻量级、快速、多平台、简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序。 但是好多使用NCReport控件的朋友都不知道如何在Qt应用程序中使用,本文详细的来说明一下。 一、添加NCReport库到应用程序中。 在项目应用程序中使用NCReport,需要先将报表控件集成到应用程序中去,下面有两种方式可以采用: 1、添加所有的静态资源到你的项目中,并用你的应用程序一起构建。在这种情况下,你不需要NCReport分享的库。打开你的.pro项目文件,并像testapp/testapp.pro做的添加全部的源包到项目中。 2、将NCReport作为分享的库使用。要在你的项目中将NCReport库像其他的库一样使用,你需要在你的项目文件中指定它们。 下面的项目示例中展示了一些必要的设置: 复制代码 QT = xml sql gui core TEMPLATE = app CONFIG += warn_on qt thread release TARGET = MyApplication INCLUDEPATH = ../ncreport/includes HEADERS += ... SOURCES += ... win32 { LIBS += ../lib/ncreport2.lib } unix {

Qt报表控件NCReport教程:报表创建示例

耗尽温柔 提交于 2020-04-09 19:13:12
NCReport 是 一款10多年时间的老牌报表控件,最初是在2002年时作为qt3的应用程序的一个联合项目,后来就成为了一个独立的GPL项目。现在的NCReport 是一款轻量级、快速、多平台、简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序。 下面来看看如何在把报表控件NCReport中创建基础的报表,主要需要下面的步骤实现: 一、新建一个报表 打开报表设计器的GUI应用程序,点击“新建”或是在“文件”找到新建菜单: 二、设置页面选项: 当前新建报表的的页面选项可以在“报表和页面设置”对话框中进行指定,打开报表菜单并选择报表和页面选项对话框,在这个对话框中可以对下面的包括报表名称、类型、文件编码、默认字体页面尺寸等属性进行。 三、添加数据源 在一开始默认的情况下,新建的报表中包含了一个页面header、detail以及一个页面footer,在开始去添加报表项目之前,需要定义表表数据源来表示这个数据来自哪里,在本次的示例中数据源就是一个Text。 在报表中要指定一个数据源,打开报表菜单并选择数据源··菜单项目。就会出现一对话框,在里面就可以添加或者是移除数据源。要添加一个新的数据源,需要点 击“添加”按钮,然后从一系列可用的数据源类型中选择QStringList数据源类型,接着点击“创建”按钮。

银光图片文件批量上传控件使用手册

久未见 提交于 2020-03-01 19:48:42
Xceed Upload for Silverlight使您快速方便的异步上传多个文件并且对数据大小没有限制,使您用Silverlight 创建的程序有一个完美的Silverlight体验。此产品包含在产品集合 Xceed Ultimate Suite 中。 具体功能: 完全基于Silverlight 3。 完全用C#编写。 在Blueprint版本提供了完整的源代码。 基于一个灵活的和可扩展的对象模型。 所有的文档完全都集成到Visual Studio中。 包含各样的VB.NET,C#,和 JavaScript示例应用程序让您快速入门。 让您快速方便的增加多文件上传功能到任何的Microsoft Silverlight 应用程序中。直接上传图片和其它文件到集成Silverlight的网页。 所有上传操作都是异步的,因此集成该控件的网页仍然可以在整个传送过程中响应其他用户交互。 一次性能上传处理多个文件。 从您的Silverlight表单上传字段内容和字符串到Web服务器会变得更加简单:字段会自动收集并格式化成一个标准格式的请求。 帮助并为您的最终用户提供一个完美的Silverlight 体验,诸如显示进度信息。 当它正在上传的时候让你压缩数据。支持可控压缩级别的GZip和Deflate压缩方式 。 丰富的事件让您的应用程序能监测和控制上传过程中的每一步操作。

Studio for WinForms:绑定甘特图表数据源

风流意气都作罢 提交于 2019-12-25 18:33:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 当 C1Chart 绑定数据源时,我们需要指定特定图表系列对应的字段,包括坐标轴的字段和图表绘制的数据字段。图表绑定数据源基本内容请参考帮助文档 点击进入 ,虽然已经比较详细,但还是有些用户在绑定甘特图表时遇到困难。 在本篇博客中我们将讨论如何绑定甘特图表的数据源。 甘特图表 甘特图用于说明各项工作的时间表,甘特图表的数据源绑定和柱型图和高低图十分类似: 和柱状图类似,甘特图表也使用柱状图形, 但通常是倒置和反转的柱状图。 Y 和 Y1 分别代表起止时间。 甘特图表可以使用以下两种方式定制时间轴: 活动/任务 活动/任务一般显示在图表的左侧部分(即为X轴),下部显示时间轴。 任务区间 每个任务区间作被显示为一个条状图形。柱状图的开始显示任务开始时间,结尾显示任务结束时间。 绑定甘特图表类型首先需要设置 DataTable 给 Chart 的DataSource 属性,然后添加图表系列(任务)给图表。绑定时,需要设置任务名称字段给 ChartDataSeries.X 属性 , 设置开始时间点给 ChartDataSeries.Y 属性结束时间点给 ChartDataSeries.Y1 属性 。 关键代码: // 设置图表类型c1Chart1.ChartGroups[0].ChartType =

报表参数控件和报表内容自动居中设置方法

微笑、不失礼 提交于 2019-12-18 12:47:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在用报表工具FineReport设计报表时,常遇到以下问题: 1、参数控件(多行控件)的居中问题。 2、报表内容的居中和自适应宽度问题,以及报表标题设置了重复标题和冻结如何不影响居中。 3、图表居中和自适应宽度问题。 解决方案如下: 1.如果使用的是FineReport的7.1.1版本:将参数控件界面的控件手动来拖,当然设计宽度是可以变的 , 按照上图中的设置方法,就可以整体居中 如果是FineReport7.1 版本:点击参数界面空白处 右边属性界面有个位置选择来居中 2.居中显示不影响表头 操作方法:设置模板 -模板web属性-分页预览设置- 来源: oschina 链接: https://my.oschina.net/u/2365939/blog/487875

跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式

岁酱吖の 提交于 2019-12-10 05:04:31
在开发者使用 TeeChart 进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: 上图为TeeChart导出对话框的数据选项 在这个对话框中可以选导出哪一列数据(或“all”导出所有列),以及是否想导出point indexes (0,1,2... ), point texts (labels)或者是colors。"Copy"按钮生成XML文本并将它复制到Windows或Linux剪贴板。"Save"按钮创建一个新的XML文件。XML文件可以被打开,例如,使用Internet Explorer浏览器。 TeeChart提供了一个类导出XML格式的数据。这个类位于TeeStore.pas unit,它的名字叫TSeriesDataXML。 保存文件的示例代码 1 2 3 4 5 6 7 8 Uses TeeStore; with TSeriesDataXML.Create(Chart1, Series1) do try SaveToFile('c:sample.xml'); finally Free; end; 如果需要导出Chart1中的所有数据,使用Create constructor构造函数最后一个函数中的"nil"替代Series1。这个类还提供了一个函数来获取XML输出成一个字符串: 1 2 3 4 5 6 7 var

EasyUI中datagrid控件的使用总结

允我心安 提交于 2019-12-09 21:50:57
概述 上一篇文章EasyUI的使用总结主要介绍了首次使用EasyUI 如何操作,介绍了EasyUI控件的整体结构以及实践中的一些注意事项。 这篇文章主要介绍一些EasyUI中datagrid控件实际使用过程中的一些问题及技巧。在项目中最开始就是需要使用datagrid表格才引入EasyUI的。 Datagrid数据表格简介 数据表格以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。数据表格的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。 效果图: 通过<table>标签创建数据表格控件。 < table class = "easyui-datagrid" id = "queryResultList" data-options = " striped:true,fit:true,singleSelect:false,pagination:true,pagePosition:'top',pageSize:50,pageList:[ 15,50,100 ],rownumbers:true,sortName:'id',url:' <%= actionUrl %> ?method=ajaxList /> ' " /> < thead >< tr > < th data-options = "field:'id',checkbox:true" align =

listview所带来的滑动冲突

雨燕双飞 提交于 2019-12-07 14:25:28
在android中,有时候会遇到子控件和父控件都要滑动的情况,尤其是当子控件为listview的时候。这种情况较常见,典型的launcher,每个屏幕上放上listview就会出现这种情况。 有两点需要注意: 一般来说,view的onTouchEvent返回true,即消耗点击事件,viewgroup的onInterceptTouchEvent返回false,即不拦截点击事件,这一点从android源码中可以看出来。但是listview的父类AbsListView重写了onInterceptTouchEvent,返回了true,注意这里不是一定返回true,但是我觉得这一点可以先忽略。 onTouchEvent和onInterceptTouchEvent的调用顺序。点击事件从父控件向子控件传递,如果父控件不拦截,则交由子控件拦截,如果父控件拦截了,则交由父控件的onTouchEvent处理,如果最终处理点击事件的控件的onTouchEvent返回了false,则将会直接调用其父控件的onTouchEvent,如此向上类推。 其实解决方法也很简单:重写父控件的onInterceptTouchEvent函数,在move的时候根据需要返回true,比如左右滑动返回true,其他情况均返回false。这样,当左右滑动的时候,由于onInterceptTouchEvent返回了true