随笔分类 -  QT-2

摘要:其存在的意义: mywidget.h: mywidget.cpp: 阅读全文
posted @ 2019-06-22 19:29 Mr_Song_D 阅读(1486) 评论(1) 推荐(1)
摘要:事件的接收与忽略的示意图如下图: 依据前面的知识,事件是可以依据情况进行接收和忽略的,事件的传播是组件层次上面的,而不是依靠类继承机制。在一个特殊的情形下,我们必须使用accept()和ignore()函数,那就是窗口关闭的事件对于窗口关闭Qcloseevent事件,调用accept()意味着Qt会 阅读全文
posted @ 2019-06-21 11:48 Mr_Song_D 阅读(2649) 评论(1) 推荐(0)
摘要:事件(event)是由系统或者Qt本身在不同的时刻发出的。当用户按下鼠标,敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件是当用户操作时做出响应发出,如键盘鼠标事件等;另外一些事件则是由系统自动发出,如计时器事件。 在前面我们也曾简单提到,Qt程序需要在main()函数创建一 阅读全文
posted @ 2019-06-20 16:57 Mr_Song_D 阅读(782) 评论(0) 推荐(0)
摘要:学习样式表的目的:可以设计出好看的控件。(比如可以给一些按钮设计成好看的图片) QT 样式表的思想很大程度上是来自于HTML的层叠式样式表(CSS),通过调用QWidget->setStyleSheet()或者QApplication->setStyleSheet(),你可以为一个独立的子部件、整个 阅读全文
posted @ 2019-06-18 15:32 Mr_Song_D 阅读(1571) 评论(0) 推荐(0)
摘要:动手实现自定义控件: 1、首先在ui界面中添加一个(Widget)容器类。如图中的1所示 2、在项目中添加一个SmallWidget类,如下: 3、接着在程序编辑界面进行程序编辑如下: 4、将代码完成以后,就可以将ui界面中的控件进行提升,右键单击Widget容器类。选择提升为,即可出现类似如下的界 阅读全文
posted @ 2019-06-17 20:06 Mr_Song_D 阅读(1385) 评论(0) 推荐(0)
摘要:登陆窗口的样式如下: 这里面涉及着窗口的UI设计,重点是局部布局和整体布局, 首先在ui窗口上添加一个容器类(Widget),然后将需要添加的控件放置在容器中,进行局部布局(在进行局部布局的时候可以使用弹簧),在局部布局完毕之后,我们将局部布局好的模块再进行整体布局(同样是添加弹簧)。布局应该多进行 阅读全文
posted @ 2019-06-17 16:27 Mr_Song_D 阅读(1140) 评论(1) 推荐(0)
摘要:Qlabel主要有以下几个方面的使用: 1、文字 2、图片 3、动画 4、网址链接 代码如下: UI界面如下: 阅读全文
posted @ 2019-06-17 15:00 Mr_Song_D 阅读(4542) 评论(0) 推荐(0)
摘要:功能:密码的显示方式,依据输入的内容进行智能联想提示。可以对里面的内容进行 读取 和 写入 阅读全文
posted @ 2019-06-16 21:05 Mr_Song_D 阅读(4112) 评论(0) 推荐(0)
摘要:首先:这里介绍以下tab Widget 和Stacked Widget 之间的区别和使用的方法; tab Widget控件可以直接的进行切换,Stacked Widget却不可以直接在界面上进行切换,需要第三方的控件来进行支持(按钮)。Stacked Widget的具体使用方法如下图: 阅读全文
posted @ 2019-06-16 20:40 Mr_Song_D 阅读(4900) 评论(0) 推荐(0)
摘要:图片中时UI界面的初识,了解界面部件都是干啥的: 有了界面之后,使得QT的开发变的更加的便捷,但是在ui界面有时满足不了的功能,就需要使用代码解决,怎么利用代码呢? 首先:打开程序编辑区; 阅读全文
posted @ 2019-06-16 16:46 Mr_Song_D 阅读(3859) 评论(0) 推荐(0)
摘要:getOpenFileName(this,"open","../","source(*.cpp *.h);;Text(*.txt);;all(*.*)");中的"source(*.cpp *.h);;Text(*.txt);;all(*.*)"很长的时候,可以在;;后直接按enter换行,这样操作在 阅读全文
posted @ 2019-06-16 12:17 Mr_Song_D 阅读(1477) 评论(0) 推荐(0)
摘要:#include "mainwindow.h" #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QMenuBar *mBar = menuBar(); setMenuBar(mBar); ... 阅读全文
posted @ 2019-06-16 10:53 Mr_Song_D 阅读(2086) 评论(0) 推荐(0)
摘要:以下是默认的: 阅读全文
posted @ 2019-06-16 10:10 Mr_Song_D 阅读(2743) 评论(0) 推荐(0)
摘要:#include "mainwindow.h" #include //菜单栏需要的头文件 #include //菜单 #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { //菜单栏 QMenuBar *mBar = ... 阅读全文
posted @ 2019-06-15 21:12 Mr_Song_D 阅读(1945) 评论(0) 推荐(0)
摘要:通过创建一个新的按钮类,来进行析构函数的验证,即对象树概念的验证。当程序结束的时候会自动的调用析构函数, 验证思路: 要验证按钮会不会自动的析构,(即在QPushButton类里面的析构函数添加qDebug打印出一些东西就知道调用了),但是QPushButton的这个按钮类也不是自己写的(析构函数也 阅读全文
posted @ 2019-06-15 20:26 Mr_Song_D 阅读(484) 评论(0) 推荐(0)
摘要:#include "mainwidget.h" #include #include MainWidget::MainWidget(QWidget *parent) : QWidget(parent) { // QPushButton btn1; // QPushButton btn2; btn1.setParent(this); btn1.setT... 阅读全文
posted @ 2019-06-15 10:59 Mr_Song_D 阅读(965) 评论(0) 推荐(0)
摘要:在QT5中,信号有参数和无参数 当信号函数发生重载的时候,为了不产生二义性,需要使用函数指针的方式进行区分,(这里需要重点掌握指针函数的用法),同时从这种写法来看,也不难看出其在语法上还是比较难的,在QT4中则没用这么难,方式如下: 1)对槽函数声明public slots: 2)其最大的优势是当写 阅读全文
posted @ 2019-06-15 09:53 Mr_Song_D 阅读(1299) 评论(0) 推荐(0)
摘要:因为两个窗口互不相干,所以需要重新创建一个窗口类subWidgetsubWidget.cpp文件 利用emit 来进行子窗口信号的传递,进而在主窗口中进行信号处理(即子窗口发送一个消息给主窗口,剩下的就交给主窗口进行处理) 之所以用两个connect来实现这个功能,这是因为在子窗口中不能调用主窗口中 阅读全文
posted @ 2019-06-14 20:54 Mr_Song_D 阅读(1466) 评论(0) 推荐(0)
摘要:以下的代码里面有自定义槽函数的内容,同时也有信号实现的函数; 信号和槽:QT对象之间通信的接口 阅读全文
posted @ 2019-06-14 15:50 Mr_Song_D 阅读(3901) 评论(0) 推荐(0)
摘要:在主程序中不停的添加代码是不可行的,这是由于当一个界面中有一百个按钮时,就要在主程序中创建100个对象,这样的代码可读性不高,太难看了。 由以上的注释内容可以得知,程序在执行时,会自动先执行构造函数, 不如将界面中的控件放在构造函数中,这样就可以减少主程序代码的数量, 如果仅仅是在构造函数中创建了如 阅读全文
posted @ 2019-06-14 14:54 Mr_Song_D 阅读(1354) 评论(0) 推荐(0)