
Qt学习
文章平均质量分 58
Xf3n1an
这个作者很懒,什么都没留下…
展开
-
Qt图形化界面学习之翻金币案例
点击start按钮,进入下层界面,选择关卡。原创 2023-08-04 09:41:01 · 257 阅读 · 0 评论 -
Qt图形化界面学习之文件读写操作
我们首先拖动相应控件至布局中。将路径放入lineEdit中。QFileDialog::getOpenFileName函数的返回值是一个QString字符串,值为打开文件的路径,我们可以接受它然后返回。读取文件,放入textEdit中。我们需要用到file.open这个函数,其中的参数OpenMode的类型如下。接着我们可以设置只读参数,然后用readall函数将文件内容全读出来。默认读取编码格式是utf-8,可以利用QTextCodeC读取gbk格式。原创 2023-07-31 15:41:24 · 425 阅读 · 0 评论 -
Qt图形化界面学习之绘图事件
在事件分发中,如果返回的是true,代表用户要处理这个事情,不向下分发这个事件了。鼠标按下,在事件分发器中做拦截。原创 2023-07-29 17:41:49 · 220 阅读 · 0 评论 -
Qt图形化界面学习之定时器
接下来,我们想要设置两个计时器,一个每秒加1,一个每两秒加1。我们发现,startTimer是有返回值的,返回的是计时器的id。我们首先创建两个int类型的成员变量id1、id2。接着将两个计时器的id赋给它们。原创 2023-07-28 16:28:55 · 187 阅读 · 0 评论 -
Qt图形化界面学习之鼠标事件
但是这里有个问题,鼠标移动并没有显示坐标,因为button只能记录瞬间的结果,因此我们需要使用buttons。接下来我们实现点击鼠标,显示点击位置的坐标。然后在主窗口中提升该自定义窗口控件,但是发现基类是QLabel,所以我们需要去修改一下继承对象。最后,我们想要鼠标不用点击任何按键就能实时获取位置,设置鼠标追踪,只要鼠标移动就能捕获。要求实现鼠标进入label后打印鼠标进入,移出打印鼠标离开。我们在QLabel的重新实现函数中找到了与鼠标相关的函数。然后在.cpp中实现我们想要鼠标进入和移除实现的功能。原创 2023-07-28 15:18:01 · 483 阅读 · 0 评论 -
Qt图形化界面学习之自定义控件
该类名为widget,可以看作smallwidget实例化的一个对象,因此可以调用smallwidget中的函数。首先,我创建了两个widget,一个是主窗口,一个是我用来实现自定义空间的窗口。1.我先创建一个widget控件,然后将SmallWidget的控件加入进来。4.最后我们需要实现拖动按钮计数器增加,以及计数器增加,按钮自动拖动。2.我们选择提升为,然后将SmallWidget的控件提升到全局。在这里,我设计了一个自定义控件,通过拖动滚动条来实现计数器加减。最后让我们实现一个功能。原创 2023-07-28 10:59:05 · 135 阅读 · 0 评论 -
Qt图形化界面学习之控件按钮组
这样可以多行一次性放入listWidget,但是没办法设置居中。只有在设计界面才有切换的按钮。所以需要设计按钮来切换页面。Tool Box类似于分组,每一页可以有不同的内容。栈控件中,需要设置按钮来切换不同的页面。不分组的话这四个按钮只能有一个被选中。与上面的功能一样,不过是网页的样式。先创建一个空tableWidget。首先设置列数,然后才能添加列表头。利用QLabel显示动态图片。工具按钮,常用来显示图片。利用QLabel显示图片。设置单选按钮的默认值。点击按钮,选中拖拉机。原创 2023-07-28 09:14:43 · 184 阅读 · 0 评论 -
Qt图形化界面学习之登录窗口布局
现在空间可以随着窗口大小改变来改变大小了,可是又引出一个新的问题,我们想要界面好看的话,登录和退出,用户名密码对应输入这块,应该尽可能居中,并且登录和退出之间需要有空隙,那么就该使用弹簧了。但是我们发现,上下两部分widget之间空隙很大,并且不能通过拖动来改变widget大小,因此我们更改widget策略。现在用户名和对应输入框没有平行,并且用户名、密码也没有垂直,我们需要调整布局。最后,我们想要输入密码的时候不显示输入的密码,只需要改一个参数。菜单栏,工具栏,状态栏用不上,全部移除。原创 2023-07-26 13:10:02 · 250 阅读 · 0 评论 -
Qt图形化界面学习之消息对话框与其他标准对话框
最后,我们想要获取用户点击的按键,比如说Save or Cancel,那么如何实现呢?参数1 父亲,参数2 标题 ,参数3 提示内容,参数4 按键类型,参数5 默认关联回车。观察函数参数我们可以发现,第三项多了一个yes or no,运行结果如下。我们可以看到所有函数返回值都是这种类型,我们点击的按键会作为函数返回值。最后呢,我们还想知道函数最后一个参数什么意思?如果想要知道我们选择的颜色,就需要返回值了。我们接收该函数返回值,查看返回值是什么。返回值是我们选择的文件的绝对路径。原创 2023-07-26 10:00:20 · 76 阅读 · 0 评论 -
Qt图形化界面学习之对话框创建
原因是非模态不会阻塞,并且在匿名函数中,创建在栈空间,随着运行结束栈空间会被释放。因此我们需要手动创建到堆区,并且运行结束后会释放该空间。我们可以看到,模态对话框的执行阻塞再第14行,关闭对话框后才能执行下去。区别:模态不可以对其他窗口进行操作,非模态可以对其他窗口进行操作。最后,为了能够实现关闭对话时候同时释放创建的堆区空间,我们需要用。我们可以看到,程序直接执行到最后一行,并没有阻塞。然而,当我们仿照上述写法创建一个非模态对话框时,至此,非模态对话框的实现已经完成了。修改上述写法后,我们执行一下。原创 2023-07-26 08:40:43 · 190 阅读 · 0 评论 -
Qt图形化界面学习之资源文件添加
在菜单栏的二级菜单设计中,名字只能输入英文,创建后再修改为中文,因为文件创建action的时候是按照你输入的英文创建的。此外,我们将创建过的action拖到工具栏中,就可以实现工具栏共用action了。最后的浮动窗口以及记事本控件我们从左侧工具栏中拖入就行。首先,我们开始试着用ui界面来进行上节的功能实现。工具栏可以添加很多个,这里默认创建了一个工具栏。我们可以修改text属性来修改名字,改为中文。原创 2023-07-25 16:34:41 · 118 阅读 · 0 评论 -
Qt图形化界面学习之QMainWindow
1.创建菜单栏(有且只有一个)menuBar返回值类型是QMenuBar *,我们创建一个变量来接收它。2.添加菜单栏至窗口3.创建菜单4.创建菜单项头文件5.添加分割线。原创 2023-07-25 10:28:22 · 103 阅读 · 0 评论 -
Qt图形化界面学习之信号和槽
自定义信号默认写到下面,并且返回值是void。自定义信号只需要声明不需要实现。自定义信号可以有参数,也可以重载。槽函数:写到public下,返回值也是void。槽函数需要声明并且实现。(需要对传递过来的信号进行处理,需要实现)槽函数可以有参数,也可以重载。接下来实现我们自定义的信号和槽下课了 老师->饿了 学生->请老师吃饭老师->饿了是信号的发送者以及发送的信号。学生->请客吃饭是该信号的接收者以及处理的槽。此外,我们还需要一个触发老师饿了的事件,也就是下课了。原创 2023-07-18 15:16:26 · 206 阅读 · 0 评论 -
Qt图形化界面学习First_Project
当创建的对象在堆区的时候,如果指定的父类是Qobject派生的类或者Qobject子类派生的类,可以不用手动释放堆区空间,因为对象会放到对象树中,编译器会自动释放子类到父类的所有空间。默认创建有窗口类,基类有三种选择:Qwidget、QMainWindow、QDialog。因此在Qt中,尽量在构造的时候就指定parent。以左上角为(0,0)点,X向右增加,Y向下增加。点击创建项目后,路径一定不能有中文。析构的顺序与构造顺序相反。原创 2023-07-17 14:56:06 · 93 阅读 · 0 评论