随笔分类 -  QT学习

摘要:来源: https://www.devbean.net/2012/09/qt-study-road-2-events/1.事件驱动的概念:我们的程序的执行顺序不再是线性的,而是一个个事件驱动着程序进行。没有事件,程序将阻塞在那里,不执行任何代码。2.总的来说,如果我们使用组件,我们关心的是信号槽;如果我们自定义组件,我们关心的是事件。因为我们可以通过事件来改变组件的默认操作。比如,如果我们要自定义... 阅读全文
posted @ 2018-07-17 22:11 LyndonMario 阅读(203) 评论(0) 推荐(0)
摘要:在前面的章节中,我们讨论了 Qt 标准对话框QMessageBox的使用。所谓标准对话框,其实也就是一个普通的对话框。因此,我们同样可以将QDialog所提供的其它特性应用到这种标准对话框上面。今天,我们继续讨论另外一个标准对话框:QFileDialog,也就是文件对话框。在本节中,我们将尝试编写一个简单的文本文件编辑器,我们将使用QFileDialog来打开一个文本文件,并将修改过的文件保存到硬... 阅读全文
posted @ 2018-07-17 22:10 LyndonMario 阅读(263) 评论(0) 推荐(0)
摘要:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { setWindowTitle(tr("Main Window")); openAction = new QAction(QIcon(":/images/doc-open"), tr("&Open..."), this); openAct... 阅读全文
posted @ 2018-07-17 22:09 LyndonMario 阅读(297) 评论(0) 推荐(0)
摘要:参考:https://www.devbean.net/2012/09/qt-study-road-2-standard-dialogs-qmessagebox/1.Qt 的内置对话框大致分为以下几类:QColorDialog:选择颜色;QFileDialog:选择文件或者目录;QFontDialog:选择字体;QInputDialog:允许用户输入一个值,并将其值返回;QMessageBox:模态... 阅读全文
posted @ 2018-07-17 22:09 LyndonMario 阅读(217) 评论(0) 推荐(0)
摘要:1.新组件:①QSpinBox 只能输入数字的输入框,并且带有上下箭头的步进按钮②QSlider 带有滑块的滑杆③这两个组件的连接 QObject::connect(slider, &QSlider::valueChanged, spinBox, &QSpinBox::setValue);1 1 QObject::connect(slider, &QSlider::valueChanged,... 阅读全文
posted @ 2018-07-17 22:08 LyndonMario 阅读(347) 评论(0) 推荐(0)
摘要:标准 C++ 对象模型在运行时效率方面卓有成效,但是在某些特定问题域下的静态特性就显得捉襟见肘。GUI 界面需要同时具有运行时的效率以及更高级别的灵活性。为了解决这一问题,Qt “扩展”了标准 C++。所谓“扩展”,实际是在使用标准 C++ 编译器编译 Qt 源程序之前,Qt 先使用一个叫做 moc(Meta Object Compiler,元对象编译器)的工具,先对 Qt 源代码进行一次预... 阅读全文
posted @ 2018-07-17 22:07 LyndonMario 阅读(252) 评论(0) 推荐(0)
摘要:在主窗口基础之上,添加菜单和工具栏等的动作。// !!! Qt 5 // ========== mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget... 阅读全文
posted @ 2018-07-17 22:06 LyndonMario 阅读(239) 评论(0) 推荐(0)
摘要:Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt 5 的模块进行一个简单的介绍,以便以后大家需要哪些功能的时候知道到哪个模块去寻找。Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。... 阅读全文
posted @ 2018-07-17 22:04 LyndonMario 阅读(374) 评论(0) 推荐(0)
摘要:具体实现一个自定义newspaper,reader的信号槽//!!! Qt5 #include ////////// newspaper.h class Newspaper : public QObject { Q_OBJECT public: Newspaper(const QString & name) : m_name(name) { }... 阅读全文
posted @ 2018-07-17 22:02 LyndonMario 阅读(248) 评论(0) 推荐(0)
摘要:1.信号槽最常用的方式:connect(sender, signal, receiver, slot);第一个对象是发出信号的对象,第二个是发送对象发出的信号,第三个是接收信号的对象,第四个是接收对象在接收到信号后需要调用的函数。Qt5中QObject::connect()的五个重载:QMetaObject::Connection connect(const QObject *,... 阅读全文
posted @ 2018-07-17 22:01 LyndonMario 阅读(237) 评论(0) 推荐(0)
摘要:1.对于Qt程序来说,main()函数一般以创建application对象(gui是QApplication,非gui程序是QCoreApplication.QApplication实际上是QCoreApplication的子类)。后面才是实际业务的代码。这个对象用来管理Qt程序的生命周期,开启事件循环。main函数最后调用app.exec()开启事件循环。我们现在可以简单把事件循环理解成一段无限... 阅读全文
posted @ 2018-07-17 22:00 LyndonMario 阅读(169) 评论(0) 推荐(0)
摘要:附件列表1.Qt简介.png 阅读全文
posted @ 2018-07-17 21:59 LyndonMario 阅读(181) 评论(0) 推荐(0)
摘要:上一章我们介绍了有关事件的相关内容。我们曾经提到,事件可以依情况接受和忽略。现在,我们就来了解下有关事件的更多的知识。首先来看一段代码://!!! Qt5 // ---------- custombutton.h ---------- // class CustomButton : public QPushButton { Q_OBJECT public: CustomButton... 阅读全文
posted @ 2018-07-17 21:58 LyndonMario 阅读(342) 评论(0) 推荐(0)