首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Qt5.8完成程序动态语言切换遇到的问题

因为之前了解过一些Qt国际化的东西,所以写程序的时候需要显示给用户的字符都使用了 tr(" ")的形式,然后使用 Qt Linguist得到相应的 qm(Qt message)文件,再通过网上介绍的方式..., main函数中使用 installTranslator,即可让程序启动自动判断语言环境,加载相应语言。...3.只调用  retranslateUI函数,则只有 Qt Designer中输入的字符能够成功翻译。...这样来看,Qt实现国际化的原理大致是,显示字符,会先从当前 translator中寻找该字符的翻译文本,有的话显示“翻译文本”,没有则显示“原本字符”。...可是这样 Qt Linguist就找不到这些需要翻译的字符了,然后别人的代码中看到使用的是 setText(tr("---")); 形式。这样,就也能找到这些需要翻译的字符了。

1.4K40
您找到你想要的搜索结果了吗?
是的
没有找到

React 表单开发,有时没有必要使用State 数据状态

使用hooks可以解决React中的许多问题,但是处理表单是否必需呢?让我们来看看。...虽然小型应用程序中这不是一个大问题,但随着应用程序规模的增长,它可能导致性能瓶颈。当涉及到表单,React会尝试每次输入(状态)发生变化时重新渲染组件。...大多数情况下,表单值仅在表单提交使用。那么,难道为了两个输入字段就需要重新渲染20多次的组件吗?答案是明确的:不需要!...此外,当输入字段的数量增加,存储输入值的状态变量的数量也会增加,从而增加了代码库的复杂性。那么,有没有其他方法可以避免重新渲染,同时实现表单的所有功能呢?...这个组件根本没有重新渲染。 使用FormData的优势 表单输入值会自动捕获,无需为每个输入字段维护状态变量。

30330

【专业技术】Qt的新玩意

编者按:我是一直用Qt,但是仅限于用C++和它的Widget写写简单的界面,对于这个“新”东西,其实早就不新了,从4.7.x就有了,只不过我项目中没有用,也就一直没有研究它。...熟悉的概念 QML直接支持如下Qt中的概念: QAction -action 类型 QObject 信号槽 - 可用于调用JavaScript函数 QObject 属性- JavaScript中当做变量使用...简单部件 最主要的原则是要记住当在C++中继承一个新的QDeclarativeItem类不要定义任何的外观策略--留到QML使用元素再定义....QML组件和QWidget的parent概念最明显区别在于,子项位置是相对于父项的,但不会要求子项完全包含在父项中(当然可在必要设置子项的clipped属性).这个差异具有深远的影响,例如: 围绕部件的阴影或高亮可作为部件的子项...元素,允许设计者使用绝对几何位置,绑定或描点(从QDeclarativeItem继承而来)定位其外边框,而不是使用布局或指定尺寸.如果适合指定尺寸就将其放置QML文档中,让设计者知道如何更好的使用这个元素

2.9K60

WIN7 QT4.8 VS2005

看到这个错误,就将这两个文件删除,然后继续nmake: C:\Qt\4.8.5src\script\tmp\moc\debug_shared\mocinclude.tmp C:\Qt\4.8.5src...漫长的编译结束后,没有再报error就编译好了 五、安装qt-vs-addin 装了VS,装了qt,你总得把他们用起来吧,使用qt-vs-addin-1.1.9,点击安装,完成后,打开你的VS,你会发现...扯淡,不行你试试VS中,点击QT-QT OPTIONS,添加一下试试: 这是最后一个问题啦,来来来,开始解决: 1.修改注册表: HKEY_CURRENT_USER\Software\Trolltech...\Versions\ 下增加一个子项qt201005(需要的名称) 子项下面增加一个数值 InstallDir,值就是你要配置的Qt路径 2.删除文件 删除C:\Qt\4.8.5的lib目录下的...试试QT-QT OPTIONS,添加一下试试: ok,大功终于告成!!!现在。找个工程编译试试吧,祝开发顺利哦。。

20140

那些你不知道的 node.js 桌面应用开发框架

这两天,翻出了几年前在校时用 winform 写的小工具,发现虽然能使用,部分功能却是已经需要改进了。 工具的源码已经丢失,现在用的电脑里也没有再安装 winform 相关的开发环境。...估算一下,重写的核心代码大概也就一、两KB,毕竟只是每次打开后只用几分钟的小工具,用来爬一爬网站内容之类的需求,业务逻辑挺简单的。...而且自己另一台破电脑上,electron 启动时间动不动就是十几秒,操作响应也不是很灵敏,达不到小而快的目标效果。 除了它们之外,是否还有其它的 node.js GUI 开发方案呢?...不过目前整个项目大小有上百MB,暂时似乎没有完善的部署发布方案,希望之后会日渐完善吧。...项目地址:https://github.com/sidorares/react-x11 node-qt node-qt 以 node.js 附件的形式提供了 Qt 库的原生绑定。

4.6K20

QT5.11下载与安装教程

/qt-opensource-linux-x64-5.11.0.run 2 安装文件夹的界面,建议大家不要将 Qt 安装在系统盘 C 盘(比如我在此作了更改,将其安装到 D 盘。...选择组件界面,请务必要选对安装 Qt 所需要的组件,否则你安装以后是无法正常运行的。 首先,点击各项前面的 > 箭头展开子项的内容。...(以5.11为例) 选项说明(只针对Windows系统) Qt5.11 一项中,如果你是使用 MinGW 进行编译,请务必选中 MinGW 模块。...4、接着执行下一步 5、安装完成 对linux: 1、 Qt以C/C++为依托,用Python也可,最新版本的Qt可能没有gcc/g++编译器,所以需要先检查一下有没有GCC/G++编译器,没有的话自己手动安装...2、如果系统没有自带OpenGL库,在做带有3D效果的界面会报错,手动安装OpenGL。

2.8K20

QListWidget「建议收藏」

当我们不需要复杂的列表,可以选择QListWidget。QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。...如果我们继承QListWidgetItem,可以设置该参数,作为我们子类的一种区别,以便能够QListWidget区别处理不同子类。...开发 QListWidget qt Qt QT listWidget = QListWidget() #实例化一个(item base)的列表 listWidget.addItem...(‘dd’) #添加一个项 listWidget.addItems([]) # 从序列中添加子项 listWidget.setDragEnabled(True) #设置拖拉 listWidget.sortItems...MultiSelection 点击多选 ContiguousSelection 鼠标拖拉多选 listWidget.setCurrentRow(0) 设置当前选择行默认为-1 listWidget.count() #得到子项总数

1.3K20

100多条Qt开发经验,解决你开发各种问题!

开发, 无论是出于维护的便捷性, 还是节省内存资源的考虑, 都应该有一个 qss 文件来存放所有的样式表, 而不应该将 setStyleSheet 写的到处都是。...不要把d指针看的很玄乎,其实就是类的实现文件定义了一个私有类,用来存放局部变量,个人建议在做一些小项目没有太大必要引入这种机制,会降低代码可读性,增加复杂性,新手接受项目后会看的很懵逼。...,改成qintptr有个好处,32位上自动是quint32而在64位上自动是quint64,如果在Qt5中继续写的参数是int则在32位上没有问题在64位上才有问题,所以为了兼容Qt4和Qt5,必须按照不一样的参数写...一些大的项目中,可能嵌套了很多子项目,有时候会遇到子项目依赖其他子项目的时候,比如一部分子项目用来生成动态库,一部分子项目依赖这个动态库进行编译,此时就需要子项目按照顺序编译。...64位的居多,选择amd64即可 - 如果用户需要兼容32位的系统则建议选择32位的Qt,这样即可在32位也可以64位系统运行 - 诸葛大佬补充:x86/x64都是编译环境和运行环境相同,没有或。

3.8K11

机器视觉降龙算法项目

不过十八种算法我还没有开发完,当前我们推出的是降龙算法系列的子项目:降龙算法之模板匹配项目,该项目包含了完整的降龙GUI以及两个算法,分别是边缘提取和模板匹配。...我们是通过插件的形式,讲算法动态库加载到软件里的,当我们成功加载算法插件,就会讲对应的选项显示到我们的算法树。 4....视觉窗口:图片显示窗口,支持拖动,放大缩小,双击鼠标居中,图像自适应显示等等,视觉窗口会显示当前图像或者算法的输出图像。 6....当然,当前的子项目《降龙算法之模板匹配》仅包含边缘提取和直线检测两个。...降龙算法十八掌均以C++动态库的形式开发,可以完全与降龙GUI隔离,因此如果你不熟悉QT没有关系,算法部分是完全独立的纯C++开发,你可以直接使用VS来修改、调试、运行算法,即便你电脑上连QT的环境都没有

23840

QT学习笔记(一)

Qt的文档非常的丰富。接口简单,容易上手,开发效率高,社区氛围很好。 Qt安装 Qt的官网,针对个人开发者(开源代码)可以免费下载使用。...Qt新建项目 点击界面上的New Project即可新建一个项目,以CMD窗口输出一个HelloWorld为例,步骤如下: 第一步选择 Application 中的Qt Console Application...接下来选定文件安装位置(特别注意:文件路径中不要包含中文,不然一些情况下会导致程序报错) ? 接下来是选择编译系统的阶段,根据自己的需要选择qmake还是cmake ?...接下来,选择Qt的包,也就是安装Qt的时候,除了默认选择的Qt Creator以外,我们自己选的Qt的版本核心。这里根据编译需要选择使用VS的编译器还是MingW。 ?...接下来是最后阶段,配置项目,是否将其他子项目加入进当前项目,是否采用版本管理。 ? 配置完成后点击完成即可新建一个Qt项目。

39120

Qt树形控件QTreeView使用1——节点的添加删除操作

是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。...QStandardItemModelQTreeView中的使用 使用QTreeView的对应模型是 QStandardItemModel,这个是Qt对应ui界面最有用的模型,它可以用于树形控件...成员变量好处是,使用这个model不用调用函数和进行类型转换,但如果在model销毁没有对成员变量进行操作就可能发生不可预料的错误。...注意:如果这个模型有许多控件公用,那么它的父级最好是这些控件的父级窗口,因为,Qt的父级机制是“老爹死儿子必须先死”,如果控件A和控件B都同时使用模型1,而建立模型1定义了模型1的控件A为其父级,那么如果控件...子项目的添加需要操作 QStandardItem ,既是上面代码创建的 itemProject变量。

5K30

从close()与hide()引发的一些思考

Qt::WA_DeleteOnClose(QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)),就是调用hide(...setVisible(false)代表Widget不在界面上显示,但是对象还存在,没有被销毁析构。...如果窗口设置过标记位:Qt::WA_DeleteOnClose(关闭销毁窗口),则出来调用hide()外,还会调用deleteLater()函数。...模态对话框(Modal Dialog) 与 非模态对话框(Modeless Dialog) 的概念不是Qt所独有的,各种不同的平台下都存在。又有叫法是称为模式对话框,无模式对话框等。...模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。 非模态对话框,当被打开,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。

6K21
领券