
QT
文章平均质量分 56
-兮
Holly
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
完美解决Qt6编译QMySQL驱动(Windows / Linux/Ubuntu)
完美解决Qt6编译QMySQL驱动(Windows / Linux)原创 2024-07-16 11:34:06 · 1295 阅读 · 0 评论 -
在Qt Designer使用自己的部件
- Qt提供2种方法在Qt designer使用自己的部件:1)**提升widgets**:这是最快和最简单的方法。2)**为Qt Designer创建widget插件**:这是更加强大但更复杂的方法原创 2023-03-13 21:13:41 · 355 阅读 · 1 评论 -
QT MVC(Model View Controller)
Model管理数据。负责请求数据并更新数据View将数据显示给用户Controller与Model和View进行交互。它负责为View提供正确的数据,并根据从View收到的用户交互向Model发送命令原创 2023-03-12 20:41:02 · 667 阅读 · 0 评论 -
QT Q_OBJECT 和 signals/slots
当一个信号关键词被发射,QMetaObject::activate()被调用并带有改变的值和信号索引。QObject::connect():创建一个新的Connection,在qobject_p.h定义。原创 2023-03-10 16:35:28 · 758 阅读 · 0 评论 -
qt .pro文件 qmake编译过程
:注释一行QT:此项目中使用的Qt modules列表CONFIG:此项目中使用的配置选项TARGET:目标输出文件的名字TEMPLATE:当生成二进制文件时项目的模版,例如app,lib平台下使用嵌套使用条件判断。原创 2023-03-10 16:34:21 · 1729 阅读 · 0 评论 -
QT获得Windows的COMPUTER_NAME_FORMAT里面的信息,例如AD域、NetBIOS
#include <sysinfoapi.h>#include <winnls.h>#include <QDebug>void GET_COMPUTER_NAME_FORMAT(){ QStringList list; TCHAR buf[256]; unsigned long size = sizeof(buf); QString message[8] = { "NetBIOS", "DnsHos原创 2022-04-28 22:33:55 · 380 阅读 · 0 评论 -
QT实现BCB的ToIntDef()函数:Qstring转int提供默认值,QT没有此功能函数,需要实现,qt的toInt()默认值为0
//Qstring转int提供默认值,QT没有此功能函数,需要实现,qt的toInt()默认值为0inline int ToIntDef(QString string, int defaults){ bool ok = false; int iValue = string.toInt(&ok); if(!ok) { iValue = defaults; } return iValue;}...原创 2020-12-18 17:32:47 · 762 阅读 · 1 评论 -
Qml和C++混合编程
通过qml高效便捷的构建UI界面,使用C ++来实现业务逻辑和复杂算法Qt中提供了两种在 QML 环境中使用C ++对象的方式 第一种:在C ++中实现一个类,注册到qml环境中,qml环境中使用该类型创建对象 第二种:在C ++中构造一个对象,将这个对象设置为qml的上下文属性,在qml环境中直接使用该属性第一种 实现可以被QML访问的 C++ 类必须满足两个条件:一是派生自QObject类或QObject类的子类,二是使用Q_OBJECT宏新建C++ Classmixing.h.原创 2020-12-07 19:22:04 · 410 阅读 · 0 评论 -
QT Warning: The name ‘layoutWidget‘ (QWidget) is already in use, defaulting to ‘layoutWidget1‘.
编译的时候,发现有很多如标题所示的警告,想要剔除掉警告第一步:打开此警告.ui文件所在的存放目录,例如windows下可右键【在Explorer中显示】打开第二步:在文件所在目录找到警告.ui文件,右键用记事本打开,进入编辑状态第三步:在记事本搜索【layoutWidget】第四步:会发现此.ui文件至少有2个重名的【layoutWidget】,将所有重名的改为不重名的即可。即分别在充满的后面加数字1,2…等...原创 2020-12-03 10:33:23 · 2328 阅读 · 0 评论 -
qml 分隔工具栏ToolSeparator 工具提示ToolTip 旋转轮Tumbler
分隔工具栏 ToolSeparator作用是将工具栏中的一组项目与相邻的项目分开。效果上就是通过用一条线分隔项目,实现视觉上的分隔作用属性horizontal : [只读],保存方向是否等于Qt.Horizontalvertical : [只读],保存方向是否等于Qt.Verticalorientation : 保留工具分隔符的方向import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.12impo原创 2020-11-22 15:54:38 · 1117 阅读 · 0 评论 -
qml 导航栏TabBar 工具栏ToolBar
导航栏 TabBar提供基于选项卡的导航模型,允许用户在不同的视图或子任务之间切换。用TabButton控件填充,可以理解为button按钮控件。一般会与布局或容器控件一起使用属性contentHeight : 保存内容的高度。它用于计算导航栏的总隐式高度contentWidth : 保存内容的宽度。它用于计算导航栏的总隐式宽度position : 保存导航栏的位置附加属性TabBar.index:[只读],保存TabBar中每个导航栏按钮的索引TabBar.position:[只读],保原创 2020-11-22 15:23:56 · 6138 阅读 · 0 评论 -
qml 菜单按钮Menu 弹出窗口Popup 侧滑抽屉Drawer
菜单按钮 Menu有两种使用方法:1)上下文的菜单,即右键单击显示的菜单 2)弹出菜单,即单击按钮后显示的菜单菜单种显示一个项目,用到MenuItem:提供一种熟悉的方式来响应被触发的菜单项。它有一个触发信号triggered()。Menu的属性及方法大部分是Qt5.10引入的属性cascade : 保存菜单是否级联其子菜单contentData : 保存内容数据列表contentModel : 保存用于显示菜单项的模型count : 保存项目数currentIndex : 保存当前突出原创 2020-11-22 15:00:15 · 5280 阅读 · 1 评论 -
qml 拨盘旋钮Dial 控件滑动开关Switch
拨盘旋钮 Dial属性angle : 可设置保持手柄的角度from : 保存范围的起始值。默认值为0.0handle : 保存转盘的手柄live : 保存在拖动手柄时拨盘是否为value属性提供实时更新position : 保存句柄的逻辑位置pressed : 保存是否按下拨盘snapMode : 保存捕捉模式stepSize : 保存步长to : 保存范围的最终值。默认值为1.0value : 保存值在from-to范围内。默认值为0.0wrap : 保存在拖动时是否绕转盘 启原创 2020-11-21 15:47:55 · 2153 阅读 · 0 评论 -
qml 繁忙指示器BusyIndicator 延时按钮DelayButton
繁忙指示器 BusyIndicator需要导入控件import QtQuick.Controls 2.2属性只有一个running: 保持繁忙指示器是否指示活动例1BusyIndicator{ id:busyindicator anchors.centerIn: parent width: 100 height: 100 running: true}例2加载网络图片时,会有个1-2s的加载时间,这个时候,我们就可以使用BusyIndicato原创 2020-11-21 15:23:03 · 1910 阅读 · 0 评论 -
qml 图像image
image只能显示静态图片 image继承于item,所以无需导入控件库即可使用属性currentFrame: 保存当前可见帧,默认值为0,如果图像包含多个帧,则可以将其设置为介于0和frameCount-1之间的数字来显示不同的帧(Qt5.14引入的)frameCount: 保存图像中的帧数。大多数图像只有一帧(Qt5.14引入的)horizontalAlignment/verticalAlignment:设置图像的水平和垂直对齐方式paintedHeight/paintedHeight:(只.原创 2020-11-21 14:48:44 · 7518 阅读 · 2 评论 -
qml 栈式导航模型StackView
实现了一个栈式的导航常用属性busy : 指示StackView是否正在应用过渡动画,为true时表示正在应用动画currentItem : 保存堆栈中当前最顶层的项目depth : 保存当前推送到堆栈上的项目数empty : 保存堆栈是否为空initialItem : 保存创建StackView时应显示的初始项目,初始项目可以是Item,Component或url附加属性index : 保存附加的项目的堆栈索引,-1代表该项目不在堆栈中status : 保留其附加到的物品的堆叠状态中;.原创 2020-11-21 13:40:11 · 4236 阅读 · 0 评论 -
qml 滑动导航模型SwipeView 页面指示符PageIndicator
用户可以通过侧向滑动来浏览界面属性horizontal : 保存滑动视图是否为水平interactive : 描述用户是否可以与SwipeView进行交互,设置为true则用户无法滑动orientation : 保留方向vertical : 保存滑动视图是否垂直附加属性index : 保存SwipeView中每个子项的索引isCurrentItem : 若子项为当前项,则此属性为trueisNextItem : 若子项是下一个项目,则此属性为trueisPreviousItem : 若.原创 2020-11-19 19:51:06 · 2328 阅读 · 2 评论 -
qml 对话框 ColorDialogs FontDialog FileDialog
颜色选择对话框 ColorDialogs版本一 QtQuick.Dialogs最初是不可见的,需要设置属性visible设置为true或者是调用open()属性color : 用户选择的颜色currentColor : 用户当前选择的颜色modality : 对话框应相对于包含对话框的父项的窗口是模态显示,还是相对于整个应用程序模态显示,还是非模态显示showAlphaChannel : bool,对话框是否将提供更改不透明度的方法title : string,对话框窗口的标题visib原创 2020-11-19 17:36:40 · 869 阅读 · 0 评论 -
qml 块编辑输入控件 TextEdit TextArea
TextEdit显示一块可编辑的格式化文本,它可以显示纯文本和富文本。显示多行的数据属性:与上一篇文章TextInput属性不同的地方baseUrl : url,指定用于解析文本中相对URL的基本URLhoveredLink : string,当用户悬停在文本中嵌入的链接时,此属性包含链接字符串。链接必须为富文本格式或HTML格式,并且链接字符串提供对特定链接的访问lineCount : int,返回TextEdit项中的总行数selectByKeyboard : bool,当编辑器可编辑时,原创 2020-11-18 23:52:13 · 3251 阅读 · 0 评论 -
qml 行编辑输入控件 TextInput TextField
TextInput显示单行可编辑的纯文本属性 简单属性acceptableInput : bool,除非已设置验证器或输入掩码,否则此属性始终为trueactiveFocusOnPress : bool,设置TextInput是否应该在鼠标按下时获得主动焦点autoScroll : bool,设置当文本长于宽度时,TextInput是否应滚动canPaste : bool,设置如果TextInput可写,则返回truecanRedo : bool,设置如果TextInput可写并且存在可以重原创 2020-11-18 23:30:18 · 6975 阅读 · 0 评论 -
qml 组合框ComboBox
ComboBox填充数据模型,数据模型通常是JavaScript数组,ListModel或者是整数,但是也支持其他类型的数据模型。另外,ComboBox还可以编辑属性acceptableInput : bool,此属性控制组合框是否包含可编辑文本字段中的可接受文本count : int,组合框中的项目数currentIndex : int,保存组合框中当前项的索引,只读currentText : string,组合框中当前项的文本,只读delegate : Component,包含一个委托,该.原创 2020-11-18 22:06:35 · 12826 阅读 · 7 评论 -
qml 轮选框SpinBox
属性displayText : string,保存SpinBox的文本值down,下组down.hovered : bool,悬停down.implicitIndicatorHeight : realdown.implicitIndicatorWidth : realdown.indicator : Itemdown.pressed : bool,按压editable : bool,保存Spinbox是否可编辑。默认值为falsefrom : int,保存范围的起始值。默认值为0inp.原创 2020-11-18 17:38:15 · 2223 阅读 · 0 评论 -
qml 滚动控件Scroll ScrollBar ScrollIndicator ScrollView
import QtQuick.Layouts 1.3交互式滚动条ScrollBar交互式即与操作有互动。次控件用于滚动到特定位置属性active : bool,保存滚动条是否处于活跃状态horizontal : bool,保存滚动条是否为水平interactive : bool,保存滚动条是否为交互式。默认值为trueminimumSize : real,保存滚动条的最小大小orientation : enumeration,保存滚动条的方向policy : enumeration,.原创 2020-11-18 00:43:49 · 6057 阅读 · 0 评论 -
qml 滑块Slider RangeSlider
可以滑动控制改变value大小,如音量调节需要添加控件import QtQuick.Controls 2.2Slider单向滑块属性from : real,默认为0.0,范围的起始值handle : Item,保存句柄项orientation : enumeration,方向,默认为Qt.Horizontal(水平)position : real,保存手柄的逻辑位置,范围为0.0 - 1.0pressed : bool,是否按下滑块snapMode : enumeration,保.原创 2020-11-18 00:21:40 · 3625 阅读 · 1 评论 -
qml 进度条ProgressBar
需要导入控件类import QtQuick.Controls 2.3属性from:(real,默认为0.0),范围的起始值to:(real,默认为1.0),范围的结束值value:(real,默认为0.0)indeterminate:(bool,默认为false)此属性保存进度条是否处于不确定模式,不确定模式下的进度条显示操作正在进行,但未显示已经进行了多少进度。position:(real)只读属性,控制进度条的逻辑位置,范围0.0-1.0visualPosition:(real).原创 2020-11-17 23:53:30 · 4881 阅读 · 2 评论 -
qml 布局管理:anchors Row Column Grid Flow RowLayout ColumnLayout GridLayout StackLayout
锚布局anchors锚点锚线:left, horizontalCenter, right, top, verticalCenter, baseline, bottombaseline的作用和top一致锚定方式:anchors.fill:使一个元素填充到另一个元素,即同时指定上下左右四个锚点anchors.centerIn:将一个元素放到另一个元素中心,即指定了水平中心和垂直中心四个边界的边距anchors.margins:同时指定四个边界的边距leftMargin, rightMar原创 2020-11-16 17:40:03 · 1828 阅读 · 0 评论 -
qml 定时器事件
定时器方法 start()启动定时器。如果定时器已经在运行,则调用此方法无效 restart()重启定时器,如果定时器没有运行,它将被启动,否则它将重置到初始状态并启动 stop()停止定时器例子1import QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 450 height: 480 title: qsTr("timer") Rectang.原创 2020-11-04 01:00:49 · 676 阅读 · 0 评论 -
qml Keys对象 键盘事件
Keys对象Keys对象是Qt Quick提供专门为Item处理按键事件的对象 最常用的信号就是onPressed和onReleased信号。这两个信号是针对大部分的按键的。需要注意的是如果有预先定义信号并且处理了的,是无法再触发onPressed信号。比如说数字按键1,如果先响应onDigit1Pressed了,就不会再去触发onPressed信号 onAsteriskPressed(KeyEvent event) [对应按键“*”] onBackPressed(KeyEvent ..原创 2020-10-30 18:02:01 · 1144 阅读 · 0 评论 -
qml 鼠标事件
事件系统或者Qt本身在不同时刻发出的事情或者动作的统称事件比信号更底层鼠标事件通过不可见元素MouseArea来实现,属性: acceptedButtons: 指定处理哪个按键,如LeftButton 、Qt.RightButton等 enabled:设置是否启用鼠标处理,默认为true pressed:鼠标按下时为true pressedButtons:保存按下的鼠标键 containsMouse:记录光标是否在当前的MouseArea cursorShape:用来设置光标形状.原创 2020-10-30 17:16:04 · 1480 阅读 · 0 评论 -
qml 信号与槽
信号是事件,信号通过信号处理程序来响应。当一个信号被发射时,相应的信号处理程序就会被调用,在处理程序中编写代码来使控件响应事件信号处理程序信号处理器链接QML类型的已知信号,分为两类。一类是由用户输入产生,比如说按键、鼠标等;另一类是由对象的状态或者属性变化产生的,比如说鼠标被按下或释放等每当按钮被点击时,onClicked处理程序就会被调用,此程序中设置退出应用import QtQuick 2.9import QtQuick.Window 2.2import QtQuick.Con.原创 2020-10-30 16:58:36 · 1608 阅读 · 0 评论 -
qml Button RadioButton GroupBox CheckBox 按钮控件类
Button导入 import QtQuick.Controls 1.4 或 import QtQuick.Controls 2.4根据自己的编译器选择相应的版本新建一个Qt Quick工程,然后在window对象中调用我们的Button控件属性checkable默认是不选中的,即触发按钮,按下去马上弹起来。当设置为true时,Button变为切换按钮,有两种状态:按下/弹起添加一些信号槽连接import QtQuick 2.9import QtQuick.Window 2原创 2020-10-30 16:12:31 · 1850 阅读 · 0 评论 -
qml语言基础
如上图,新建一个空的Qt Quick Application,运行就是一个空的窗口文件import语句导入模块,类似于c++中的includeQtQuick 2.9:此模块为创建图形用户界面提供了最基本的类型QtQuick.Window模块:window类型可以为Qt Quick场景创建一个顶级窗口QML对象对象类型被实例化以后,就叫做该对象类型的对象如Window,在代码中现在就是一个对象,以大写字母开头,后面跟一对大括号,在括号中包含对象的属性QML元素如以下的控件...原创 2020-10-30 14:51:11 · 228 阅读 · 0 评论 -
QT5:信号和槽
connect(sender, SIGNAL(signal), receiver, SLOT(slot));一个信号可以连接多个槽在发射这个信号的时候,会以不确定的顺序一个接一个地调用这些槽。多个信号可以连接同一个槽无论发射的是哪一个信号,都会调用这个槽。一个信号可以与另外一个信号想连接当发射第一个信号时,也会发射第二个信号。除此之外,信号与信号之间的连接和信号与槽之间的连接是难以区...原创 2018-12-25 22:14:15 · 234 阅读 · 0 评论 -
QT5:子类化QDialog
在每个QObjet对象以及包含有Q_OBJECT宏的子类中都有tr()函数的声明。 伙伴(buddy)是一个窗口部件,可以在按下标签的快捷键时接收焦点,焦点就会移动到该标签的伙伴上。编写一个Find查找对话框find.proTEMPLATE = appHEADERS = finddialog.hSOURCES = finddialog.cp...转载 2018-12-24 01:45:23 · 752 阅读 · 0 评论 -
QT5:窗口部件的布局age.cpp
用布局layout来管理窗口中窗口部件的几何形状,如何利用信号来同步窗口部件age.proTEMPLATE = appSOURCES = \ age.cppQT += core gui widgetsage.cpp#include &amp;lt;QApplication&amp;gt;#include &amp;lt;QHBoxLayout&amp;gt;#includ转载 2018-12-23 00:55:08 · 273 阅读 · 0 评论 -
QT5:建立连接quit.cpp
响应用户的动作。由一个按钮组成,单击按钮退出程序。quit.proTEMPLATE = appSOURCES += \ quit.cppQT += core gui widgetsquit.cpp#include &amp;lt;QApplication&amp;gt;#include &amp;lt;QPushButton&amp;gt;int main(int argc,转载 2018-12-22 23:42:10 · 175 阅读 · 0 评论 -
QT5:Hello QT
https://jingyan.baidu.com/article/cbf0e500fff94c2eaa2893c7.html打开菜单,新建文件或项目-&amp;gt;其他项目-&amp;gt;空的Qt项目,项目名设为helloqt,项目名和目录不能为中文。双击“helloqt.pro”,加入代码SOURCES += \ main.cppQT += core gui widgets新建c...转载 2018-12-22 23:03:12 · 356 阅读 · 0 评论