QT
Jokey92
邮箱:932432866@qq.com
展开
-
Qt中QTabWidget隐藏某些tab
QTabWidget 中的tab,采用hide(),close(),setHidden(true),setVisible(false)等方式都无法隐藏tab。可以通过以下方式隐藏。ui->tabWidget->removeTab(0);0--表示隐藏第一个tab。当有多个tab页,且需要隐藏多个tab,用上面的单个隐藏方法,达不到预期的效果,需要用下面的方法:...原创 2018-11-01 09:39:06 · 6535 阅读 · 1 评论 -
Qt 让弹出的窗口居中显示
设置窗口居中显示这是在UI编程中经常要遇到的问题。方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include <QDesktopWidget>//.......QDesktopWidget* desktop = QApplication::desktop(); // =qApp->desktop();也可以move((desktop-...原创 2018-12-07 17:55:17 · 888 阅读 · 0 评论 -
QT5 设置开机动态启动画面(gif与swf两种动画格式)
多数大型应用程序启动时都会在程序完全启动前显示一个启动画面,在程序完全启动后消失。过程很简单,只是建立了一个基于Qt控制台的项目,文件也只有一个——"main.cpp"。直接上代码,注意如果要播放Flash动画需要引入QAxWidget类,库文件有QAxContainer.lib,QAxServer.lib等。 #include <QtGui> #include <...原创 2018-12-07 17:17:29 · 3409 阅读 · 0 评论 -
QT实现多语言/动态切换(国际化)
多国语界面的实现,在MFC中是很别扭的。以前在作MFC时,实现多国语言的界面,只有把资源文件做成各个语言的资源DLL,在程序启动时,根据选择判断选择载入哪个DLL来获取资源。MFC的资源也是分语言的,在创建资源的时候要选择,但是这样的实现还有有弊端。最根本的原因是MFC的资源文件不是Unicode编码的,而是不同语言的本地码,至少VC6是这样的。这样在中文系统中载入日文的资源,界面出现的是乱码。...原创 2018-11-23 17:58:44 · 3994 阅读 · 0 评论 -
Qt获得和失去焦点事件(Focus事件)
1.重写控件的focusInEvent()和focusOutEvent()函数针对一个窗口上的多个可编辑控件(比如QLineEdit、QTextEdit等),我们希望控件在获得焦点之后能够和其他的控件有区别,如果想实现这一功能,就要用到focusInEvent()和focusOutEvent()函数。查看了官方文档,可以在子类中重写这两个函数来实现我们的目的。既然是要控件得到焦点改变动作,则应...原创 2018-11-22 08:44:25 · 6151 阅读 · 0 评论 -
warning: Z-order assignment: 'groupBox_POWER' is not a valid widget.
一、问题Qt creator中调整UI布局的时候,很容易出现如下警告:E:\TEST-JOKEY\qt\SerialTool\ui\kseview.ui:-1: warning: Z-order assignment: 'groupBox_POWER' is not a valid widget.二、方法虽然编译后运行看起来没什么问题,但是对于有轻微代码洁癖的人肯定是忍受不了的,...原创 2018-11-16 16:39:07 · 555 阅读 · 0 评论 -
QT5的程序打包发布(Windows)
一、平台及工具1.平台 win10 Pro + QT5.7 2.QT5自带的windeployqt(这个大家不需要下载安装),另外一个是Engima Virtual Box,这是下载链接Engima Virtual Box 二、步骤1.打开一个QT程序,以release方式运行一次。这时你的工程项目文件夹下,会生成一个关于release的文件夹。2.打开关于releas...原创 2018-11-12 14:54:15 · 2101 阅读 · 1 评论 -
QByteArray与char、int、float(及其数组)之间的互相转化
1.问题来源要用SQLite数据库去保存一段定长的char型数组,里面可能有\0等字符,所以当作字符串varchar处理铁定丢失数据,所以要用二进制保存BLOB,这样对应的QT数据类型要用QByteArray进行处理,原来只用到QByteArray转换成 char* 类型,其它的转换还没搞过,一弄发现还是有些门道,为了以后不再继续造轮子,就先写出来,标记一下。 2.QByteArray...原创 2018-11-02 13:45:33 · 5494 阅读 · 0 评论 -
串口通信之 QByteArray详解
QByteArray在串口通讯中经常被使用,有一定必要较为全面详细的对QByteArray进行阐述。本文通过以下几个部分加以介绍1 初始化2 访问与赋值 访问QByteArray主要有4中方式,分别为[]、at()、data[]和constData[]。其中[]和data[]为可读可写,at()和constData[]仅为可读。如果仅是读,则通过at()和constData[]访问...原创 2018-11-02 11:26:12 · 11611 阅读 · 5 评论 -
QT 对话框QDialog
PS: 1.关闭主窗口并退出程序是 QApplication::exit() 2.如果是QDialog,就accept() 或 reject() 3.对于所有QWidget:close()PPS: show()与exec()区别: show(): 显示一个非模式对话框。控制权即刻返回给调用函数。 弹出窗口是否模式对话框,取决于modal属性的值。exec(): 显示一个模式对...原创 2018-11-06 14:09:51 · 2606 阅读 · 0 评论 -
QT QPushButton 通过stylesheet 设置样式
1.QT QPushButton 通过stylesheet 设置样式ui->pushButton->setStyleSheet("QPushButton{background-color:rgba(255,178,0,100%);\ color: white; border-radius:...原创 2018-11-06 14:05:01 · 21568 阅读 · 2 评论 -
Qt焦点事件 setFocusPolicy
首先来说说为什么要设置焦点吧。 设置焦点可以让应用更便捷。比如当你打开百度主页或其他带有编辑框的页面时,不需要先用鼠标点击编辑框就可以直接输入文字等信息到其中。这就是由于搜索框设置了焦点。一个空间要先设置它焦点事件的模式,即窗口如何接受焦点事件(通过鼠标单击、Tab键、不接受焦点事件等)用 void setFocusPolicy ( Qt::Focus...原创 2018-11-06 11:13:10 · 19470 阅读 · 2 评论 -
QT creator中Debug、Profile、Release的区别
如题,一般QT可以选择生成Debug、Profile、Release三个版本,Debug和Release的区别很清楚,一个是前期版本,一个是后期版本,Release是做过优化的版本,但是Profile版本又是什么呢?与Release有啥区别呢? 其中Debug和Release我们都是耳熟能详的前者是以-g模式编译 带着符号信息 便于我们调试后者是经过优化之后 性能更上一个档次的...原创 2018-11-06 10:32:26 · 15952 阅读 · 0 评论 -
Linux 如何使用ccache加速c++编译速度( qt环境测试 )
ccache是 Compile cache的意思,意为编译器缓存,他会在编译器编译时的信息存储起来,以供下一次编译时使用,这样会大大加快以后编译的速度。ccache(“compiler cache”的缩写)也是一个编译器驱动器。第一次编译时ccache缓存了GCC的“-E”输出、编译选项以及.o文件到$HOME/.ccache。第二次编译时尽量利用缓存,必要时更新缓存。所以即使"make cl...原创 2019-05-28 14:27:00 · 1402 阅读 · 0 评论