一、设置圆角、鼠标按下、停留、正常颜色 ui->pushButton->setStyleSheet(""); QPushButton { color: #00B0AE; background-color:#FFFFFF; font: 9pt "黑体"; border:1px groove #00B0AE;border-radius:10px; } /*按钮停留态*/ QPushButton:hover { /*背景颜色*/ background-color: rgba(235, 235, 23
255, 255, 255)); width: 15px; margin-top: -6px; margin-bottom: -6px; border-radius: 5px 255, 255, 255)); width: 15px; margin-top: -6px; margin-bottom: -6px; border-radius: 5px
QT5安装 环境 Ubuntu14.04 QT5.12.3 首先去QT安装包下载安装包,我这里选择的是目前最新的QT5.12.3 下载好之后赋予可执行权限 chmod +x qt-opensource-linux-x64 /lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format 需要下载安装freetype-2.10.0,解压之后执行 cd freetype /lib/libQt5DBus.so.5: symbol dbus_message_get_allow_interactive_authorization, version LIBDBUS_1_3 not /Qt5.12.3/Tools/QtCreator/lib/Qt/lib sudo cp libdbus-1.so.3.26.0 /opt/Qt5.12.3/Tools/QtCreator/lib/Qt /5.12.3/gcc_64/lib/libQt5DBus.so.5: symbol dbus_message_get_allow_interactive_authorization, version
是可以响应本窗口的事件 setAttribute(Qt::WA_TransparentForMouseEvents, true); //隐藏标题栏 setWindowFlags (Qt::FramelessWindowHint);//无边框 //打开的窗口在屏幕中间 QDesktopWidget *widget= QApplication::desktop() 并且隐藏任务栏的图标 Qt::WindowFlags m_flags = windowFlags(); setWindowFlags(m_flags| Qt::FramelessWindowHint |Qt::WindowStaysOnTopHint|Qt::WindowStaysOnTopHint|Qt::Tool); //设置窗口背景透明 setAttribute(Qt::WA_TranslucentBackground ::SolidLine); //线的样式--实线 p.setPen(pen); pen.setWidth(5); pen.setStyle(Qt::DashDotLine);
QJsonDocument是一个封装完整JSON文档的类,可以从UTF-8编码的基于文本的表示以及Qt自己的二进制格式读取和写入此文档。 解析器非常快速高效,可以将JSON转换为Qt使用的二进制表示形式。 已解析文档的有效性可以使用! 代码如下: /* 工程: ASS_SubtitleVideoPlayer 日期: 2021-09-07 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: 获取视频尺寸 /* 日期: 2021-08-13 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: 网络请求返回的结果 */ void Widget::slot_request_videoID_replyFinished
: QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //隐藏标题栏 setWindowFlags(Qt ::FramelessWindowHint);//无边框 置顶 //设置窗口背景透明 setAttribute(Qt::WA_TranslucentBackground); 绘制样式 QBitmap bmp(this->size()); bmp.fill(); QPainter painter(&bmp); painter.setPen(Qt ::NoPen); painter.setBrush(Qt::black); painter.setRenderHint(QPainter::Antialiasing); painter.drawRoundedRect
【2】将CMake缓存中的Qt5_DIR设置为Qt5Config.cmake文件的位置。 目标名以Qt5:::开头,后面是模块名。比如:Qt5::Core,Qt5::Gui。将库目标的名称传递给target_link_libraries以使用相应的库。 在相应的find_package()调用之前,需要将它设置为5或6。如果设置为5,以qt_开头的命令将调用以qt5_开头的命令。如果设置为6,它们将调用以qt6_开始的对应方。 07、CMake命令参考Qt5::Coreqt5_add_big_resources将大型二进制资源编译成目标代码qt5_add_binary_resources从Qt资源文件列表创建一个RCC文件qt5 编译Qt语言学家.ts文件到.qm管理文件qt5_create_translation建立Qt语言学家翻译工具链Qt5::RemoteObjectsqt5_generate_repc从Qt远程对象创建C
自定义信号: 写到signal下 返回值是void,只需要声明,不需要实现 可以有参数,可以重载
Qt 5 最小构建笔记(只编译QtBase) 只想用Qt5最基本的功能,因此只编译QtBase。 也不想为了编译一个Qt装很多东西 (比如非常肥的DirectX SDK) 软件清单: Visual Studio 2010 Professional with SP1 Active Perl opengltutorialsbyaks/download/ex tension-viewer 1 获取repository: git clone https://git.gitorious.org/qt /qt5.git qt5 2 获取qtbase源代码: 这一步不需要init-repository,直接去 http://qt.gitorious.org/qt/qtbase打包代码并下载, 的1/3 5 check 把 qtbase/bin 添加到PATH里,编译一些examples -- 修改:Yennar FROM 210.13.71.* FROM 210.13.71
pen); item->SetFrameColor(text_color); } } 强制转换类型时要使用static_cast语法,常规C语言的强转语法QT
一般软件调试的时候,可以使用QPlainTextEdit当做日志显示界面,程序里所有的打印数据都可以通过QPlainTextEdit显示,可以做一个方便接口:设置QPlainTextEdit为只读模式,每次最新的数据插入到最后,并且每次显示也是最新一行。
升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题 第一种: 在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式 ,实在麻烦 后来有找到了个方法 第二种: 在头文件申明中加上 #pragma execution_character_set("utf-8") 一切OK了 2016-10-8补充 PS:方法2只是用在Qt5 最初的某个版本上大概是两三年前的某个版本,当初使用是可以解决中文显示问题 最近用Qt5.6 5.7两个版本,这个方法已经不行了。 来显示中文字符 —————————————这是一条浪荡的分割线————————————————— 2017.3.20更新 专门找了资料,把目前测试能用的解决中文字符乱码的方法整理的一下 环境:VS2015 Qt5.7
软件开发,规范你的项目目录结构,代码规范,遵循PEP8规范等等,让你更加清晰滴,合理滴开发。 那么接下来我们以博客园系统的作业举例,将我们之前在一个py文件中的所有代码,整合成规范的开发。 return flag choice_dict = { 1: login, 2: register, 3: article, 4: diary, 5: exit_program, } while flag: print(''' 欢迎来到博客园首页 1:请登录 2:请注册 3:文章页面 4:日记页面 5: 在软件开发初期,由于开发过程中以上内容可能不明确或者发生变化,并不是一定要在一开始就将所有信息都补全。但是在项目完结的时候,是需要撰写这样的一个文档的。
http://www.cnblogs.com/tornadomeet/archive/2012/06/30/2571001.html 在上一篇博文Qt学习之路_4(Qt UDP的初步使用) 中,初步了解了Qt下UDP的使用,这一节就学习下TCP的使用。 当然了,本文还是参考的《Qt及Qt Quick开发实战精解》一书中的第5个例子,即局域网聊天工具中的UDP聊天和TCP文件传送部分。 ui->serverStatusLabel->setText(tr("已发送 %1MB (%2MB/s) " "\n共%3MB 已用时:%4秒\n估计剩余时间:%5秒 >setText(tr("已接收 %1MB (%2MB/s) " "\n共%3MB 已用时:%4秒\n估计剩余时间:%5秒
本例程介绍QRadioButton的使用,包括QRadioButton的分组、多个QRadioButton控件响应同一个槽函数、QRadioButton的ID设置从而避免繁琐的判断。
什么是QT QT是一个跨平台的C++图像用户界面应用程序框架 QT在1991年由奇趣科技开发 QT的优点 跨平台,几乎支持所有平台 接口简单,容易上手 一定程度上简化了内存回收机制 有很好的社区氛围 可以进行嵌入式开发 QWidget QT注意事项 命名规范 类名 首字母大写,单词和单词之间首字母大写 函数名 变量名称 首字母小写,单词和单词之间首字母大写 快捷键 注释 ctrl + / 运行 ctrl + 中的对象树 当创建的对象在堆区的时候,如果指定的付钱是QObject 派生下来的类或者子类 派生下来的类,可以不需要管理释放操作,会将对象放入对象树 一定程度上简化了内存回收机制 QT的窗口坐标系 笛卡尔坐标系 [左上角为0,0点] QT信号和槽 connect( 信号的发送者 ,信号的具体信息, 信号的接受者,信号的处理[槽]) 信号槽的优点 松散耦合 信号发送端 和 接收端本身是没有关联的,通过connectl 秒发一个信号 timer->start(500); //连接信号 connect(timer,&QTimer::timeout,中括号小括号{ static int num = 1; ui->label_5-
文本简单介绍 Qt5 的特性,其具体内容来自 Qt5 官方 Wiki 的介绍 。 前面说过,Qt5 最大的特性在于模块化。这么多的模块,Qt5 统称为 Qt Essentials。 请在 这里 查看完整的 Qt5 模块列表。 Qt Core Qt Core 类似于 Qt4 中的 QtCore 模块,包含了所有非 GUI 的功能。所有其他的 Qt 模块都基于这个模块。 Qt Network QDnsLookup 现在,使用 Qt5 提供的 QDnsLookup API 可以查询 DNS 记录了。 SSL 证书扩展 Qt5 增加了访问 SSL 认证的扩展,这将方便 Qt 框架开发人员,同时作为未来的 Qt SSL 支持的基础。 Buggy SSL 服务器的周边工作 Qt5 增加了对 buggy SSL 服务器的支持。这些修改现在已经被添加到了 Qt 4.8。
Qt中的字符串类 介绍 采用Unicode编码 采用隐式共享技术,节省内存和不必要的数据拷贝 隐式共享介于浅拷贝和深拷贝之间,当两个string对象赋值时,会实现浅拷贝(共享一块内存),如果某个对象被修改了 //清空str str. resize(8); //设置str的字符串长度 str.fill('m'); //将str字符串,全部字符填为'm' str.fill('m',5) ; //填充5个字符'm',并修改str的字符串长度为5 str.append("ABC"); //在str字符串末尾附加"ABC"子串 str.prepend("abc" 字符串转double val =1234.5 /*arg()成员函数:通过string串里通过“%数字”表示argument(参数) */ str = QString("%1,%2,%3,%4,%5, ; //从str下标1的位置查找,return 1 str.indexOf ("bc",2); //没找到,则return -1 str. lastIndexOf("bc",5)
sip PyQt5 Qt python Pycharm 安装自行百度,很简单,一路点击下一步。 由于Qt框架的复杂性,PyQt并没有使用Cython、SWIG的混合编程方案,而是自己单独做了一套框架。sip包括一个sip工具、SDK和Python Module。 与SWIG类似,使用sip也需要先编写一个『配置文件』,然后使用sip工具『编译』为C++源文件,最后,和Qt库一起编译形成适用于Python的PyQt。 需要注意: 如果你安装了PyQt4和PyQt5,那么PyQt4和PyQt5无法共享sip。 安装Qt 安装很简单,一路下一步,不用配置什么,默认的配置即可,我们只是用Qt的QtDesigner可执行程序,最后不用启动,直接关闭就行。
头文件: #include <QDesktopWidget> 代码: Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); ......略....... QDesktopWidget *widget= QApplication::desktop(); move((widget->width()-this->width())/