qt图像预览

qt图像预览
qt图像预览

如何实现QT窗口背景图片随窗口大小而变化

最近在学习QT。。。

给窗口添加背景图片后,但是把窗口最大化后,因为图片小,重复出现了,如何实现背景图片随窗口大小而变化呢?

求高手解答!

------解决方案--------------------------------------------------------

用setStylesheet加载图片方式

background-image 和border-image 测试下哪个效果正确

------解决方案--------------------------------------------------------

方案一:使用paintEvent

C/C++ code

void Widget::paintEvent(QPaintEvent *e)

{

QPainter painter(this);

painter.drawPixmap(0,0,this->width(),this->height(),QPixmap(":/xx x.png"));

}

------解决方案--------------------------------------------------------

setStyleSheet("border-image: url(:/xxx.png)");

------解决方案--------------------------------------------------------

我知道的有两种方法

1.用setStyleSheet .这里要注意使用border-image而不是image和backgrou nd

2.用scaled方法,传递一个QSize参数,这个参数就是你窗口的size

Qt开发简介

Qt开发简介 诺基亚开发门户网站:https://www.360docs.net/doc/0615752765.html,/ (资料例程等)Qt开发平台Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所 用功能。Qt是完全面向对象的, 很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的 Linux桌面环境KDE 的基础。基本上,Qt 同X Window 上的Motif,Openwin,GTK 等图形界面库和 Windows 平台上的MFC,OWL,VCL,ATL 是同类型的东西,但Qt具有优良的跨平台特性、面向对象 、丰富的API、大量的开发文档等优点。QT开发环境Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境(IDE),并确保首次接触Qt 框架的开发人员能迅速上手和操作。Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:一个高级的C++代码编辑器上下文感知帮助系统可视化调试器源代码管理项目和构建管理工具QT for

Symbian 开发环境搭建: https://www.360docs.net/doc/0615752765.html,/Community/Wiki/Qt_Sym bian_开发环境安装Qt优势面向对象Qt 的良好封装机制使得Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称 为signals/slots 的安全类型来替代callback,这使得各个 元件之间的协同工作变得十分简单。丰富的API Qt包括多达250 个以上的C++ 类,还提供基于模板的collections,serialization,file,I/Odevice,directory management,date/time 类。甚至还包括正则表达式的处理功能。支持2D/3D 图形渲染,支持OpenGL 大量的开发文档XML 支持Webkit 引擎的集成,可以实现本地界面与Web内容的无缝集成但是真正使得Qt 在自由软件界的众多Widgets (如Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脱颖而出的还是基于Qt 的重量级软件KDE 。我的问题:1:如何用Qt 访问https ?Qt 是支持SSL的,但是由于某些法律和政策因素,QT的开发包里并没有集成openSSL。QT采用两种方式调 用openSSL,默认方式是动态加载openSSL的DLL。 在Windows系统上默认没有openSSL,需要自己安装。可以在这里下载源代码,自己编译 https://www.360docs.net/doc/0615752765.html,/source/

Qt 编写多窗口程序

编写多窗口程序 导语 程序要实现的功能是:程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭这个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后,我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。 程序里我们先建立一个工程,设计主界面,然后再建立一个对话框类,将其加入工程中,然后在程序中调用自己新建的对话框类来实现多窗口。 在这一篇还会涉及到代码里中文字符串显示的问题。 目录 一、添加主窗口 二、代码中的中文显示 三、添加登录对话框 四、使用自定义的对话框类 正文 一、添加主窗口 1.我们打开Qt Creator,新建Qt Gui应用,项目名称设置为“nWindows”,在类信息界面保持基类为QMainWindow,类名为MainWindow,这样将会生成一个主窗口界面。 2.完成项目创建后,打开mainwindow.ui文件进入设计模式,向界面上拖入一个Push Button,然后对其双击并修改显示文本为“按钮”,如下图所示。 3.现在运行程序,发现中文可以正常显示。在设计模式可以对界面进行更改,那么使用代码也可以完成相同的功能,下面就添加代码来更改按钮的显示文本。

二、代码中的中文显示 1.我们点击Qt Creator左侧的“编辑”按钮进入编辑模式,然后双击mainwindow.cpp文件对其进行编辑。在构造函数MainWindow()中添加代码: MainWindow::MainWindow(QWidget*parent): QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->pushButton->setText("新窗口");//将界面上按钮的显示文本更改为“新窗口”} 这里的ui对象就是界面文件对应的类的对象,在mainwindow.h文件中对其进行了定义,我们可以通过它来访问设计模式添加到界面上的部件。前面添加的按钮部件Push Button,在其属性面板上可以看到它的objectName属性的默认值为pushButton,这里就是通过这个属性来获取部件对象的。 我们使用了QPushButton类的setText()函数来设置按钮的显示文本,现在运行程序,效果如下图所示。 2.我们发现,在代码中来设置按钮的中文文本出现了乱码。这个可以有两种方法来解决,一个就是在编写程序时使用英文,当程序完成后使用Qt语言家来翻译整个软件中的显示字符串;还有一种方法就是在代码中设置字符串编码,然后使用函数对要在界面上显示的中文字符串进行编码转换。因为翻译一个软件很麻烦,对于这些小程序,我们希望中文可以立即显示出来,所以下面来讲解第二种方法。 3.设置字符串编码,可以使用QTextCodec类的setCodecForTr()函数,一般的使用方法就是在要进行编码转换之前调用该函数,下面我们在main.cpp文件中添加代码:

qt编写的小游戏

自己用qt动手写的小游戏,大家可以参考帮忙改进下,谢谢!! 游戏内容图片下坠,点击即可得分,未点击到则坠落到底则丢失,得分超过20则赢,丢失超过10则输 文件声音和图片为方便均采用绝对路径; 首先需要创建一个ui文件 文件名为hei.ui 里面拉2个label,一个为分数,一个为丢失数,objectname任意取 在拉2个lineedit,对应上面分别取objectivename为pointEdit和missEdit 在拉2个按钮开始游戏和退出游戏objectivename为startGame和quitGame 再依次创建下面文件,并使用下面代码: Hei.pro文件 SOURCES += \ main.cpp \ hei.cpp \ zujian.cpp \ gameArea.cpp FORMS += \ hei.ui HEADERS += \ hei.h \ zujian.h \ gameArea.h RESOURCES += \ image/ico.qrc RC_FILE=image/app.rc //定义运行图标不需要的话可以删掉 main.cpp 运行主文件 #include #include"hei.h" #include int main(int argc,char*argv[]) { QApplication app(argc,argv); QTextCodec::setCodecForTr(QTextCodec::codecForLocale());//使中文有效 heiw w; w.show(); return app.exec(); } gameArea.h 设置游戏区域背景类就是一个400*550的矩形框子,使用painter画笔画的,如果想丰富一点,可将该类换成QLabel继承类,然后贴图作为背景,还可以自动更换图片背景。 #ifndef GAMEAREA_H

QT编写一个简单的学生管理系统

嵌入式作业报告 ——学生信息管理系统

学生信息管理系统报告说明书 一.需求分析 利用QT Creator编程环境编写一个简单的学生信息管理系统,与数据库连接,或者直接对.txt文本进行操作,实现对学生信息的增,删,改,查功能。二.总体设计 在窗口刚跳出来时,在左边的QTextEdit对象中显示所有学生的信息,学生的信息被保存在student.txt文件中。右边是几个QPushButton,分别实现增,删,改,查功能。还有一个QLineEdit,用来编辑学生信息。 1.增加学生信息:在行编辑器内输入学生的信息,点击“增加”按钮,该生的信息就会被写入student.txt文件,并且将增加后的所有的学生信息显示在窗口的QTextEdit对象中。 2.删除学生信息:在行编辑器内输入学生的信息,点击“删除”按钮,该生的信息就会从student.txt文件中删除,并且将删除后的所有的学生信息显示在窗口的QTextEdit对象中。 3.修改学生信息:在行编辑器内输入学生的信息,点击“修改”按钮,该生的新的信息就会被写入文件,并且将修改后的所有的学生信息显示在窗口的QTextEdit对象中。 4.查找学生信息:在行编辑器内输入学生的学号,点击“查找”按钮,该生的信息会显示在窗口上。 三.详细设计 若选择直接对文本进行操作,过程比较麻烦。如在进行删除某位学生的信息时,很自然地会想到先找到该生在文件中的位置,再将其后的所有学生信息都向前移动,看起来似乎很简单,但是在文件里进行这些操作时还是要费一些功夫的。经过在网上查资料,得到了一种算法,就是先把文件里的每位学生的信息读出来,放到一个str[]数组中,再通过比较,找到要删除学生所在的数组元素的下标,之后仅仅是对数组内容进行更改,最后再将新的数组元素写入文件中,再通过读文件将信息显示在窗口。下面这段代码是我自己认为在这次作业中取得较

QT实现文本编辑器

一用Qt4实现的文本编辑器 1. 新建,打开,保存文件 2.基本的文本编辑功能(复制,粘贴,剪切等) 3.不同风格 4.改变文字的大小,颜色,字体等 界面如下: 二工程文件 1. /* src.pro*/ TEMPLATE = app CONFIG += warn_on \ thread \ qt \ qtestlib TARGET = texteditor DESTDIR = ../bin SOURCES += CMainWindow.cpp \ MainWindow.cpp \ CFindDialog.cpp

HEADERS += CFindDialog.h \ CMainWindow.h \ ui_finddialog.h \ ui_MainWindow.h FORMS += FindDialog.ui \ MainWindow.ui RESOURCES += MainWindow.qrc QT += qt3support 2. /*CMainWindow.cpp*/ #include "CMainWindow.h" #include "CFindDialog.h" #include #include CMainWindow::CMainWindow(QWidget *parent) : QMainWindow(parent) { setupUi(this); iniStatusBar(); iniConnect(); fontColorAct = new QAction(QPixmap(32, 32), tr("改变字体颜色"), this); styleToolBar = new QToolBar(this); styleToolBar->setObjectName(QString::fromUtf8("styleToolBar")); styleToolBar->setOrientation(Qt::Horizontal); this->addToolBar(Qt::TopToolBarArea, styleToolBar); menu_2->addAction(fontColorAct); styleToolBar->addAction(fontColorAct); show(); connect(fontColorAct, SIGNAL(triggered()), this, SLOT(changeColor())); } void CMainWindow::iniConnect() { connect(textEdit, SIGNAL(cursorPositionChanged()), this, SLOT(doCursorChanged())); connect(textEdit->document(), SIGNAL(contentsChanged()),

QT界面开发

1Qt4界面开发 1.1Q t历史 Qt是一个用于桌面系统和嵌入式开发的跨平台应用程序框架。它包括一个直观的API 和一个丰富的类库,以及用于GUI开发和国际化的集成工具,另外它支持Java?和C++开发。Qt让企业无须重新编写源代码,便可以构建运行在不同桌面操作系统和嵌入式设备上的软件应用程序。 Qt框架最早可公开获取是在1995年5月。最初是由Haavard Nord(TrollTech公司的首席执行官)和Eirik Chambe-Eng(TrollTech公司的董事会主席)。Haavard和Eirik 最早在特隆赫姆的挪威技术学院相遇,在那里他们双双获得了计算机科学硕士学位。 早在1991年,Haavard 就开始写一些最终成为Qt的类,并和 Eirik合力设计。在接下来的一年,Eirik提出了“信号和槽”的思想,一个现在已经被一些其他套装工具包含简单但功能强大的GUI编程范式。Haavard 接受了这一思想并手工生成了这一思想的代码实现。到1993年,Haavard和Eirik已经完成了Qt的第一个图形内核的开发并能用它来实现一些他们所需的物件。在这一年的年末,Haavard建议他们一起去经商,创建一个“世上最好的C++ GUI框架”。 字母“Q”被选为类的前缀是因为这个字母在Haavard的Emacs字体中看起来很漂亮。受到Xt(the X toolkit)的启发,字母“t”被追加来表示“toolkit”。公司在1994年5月4日成立,起初被命名为“Quasar Technologies”,之后被改名为“Troll Tech”,今天则被称为奇趣科技(Trolltech)。 1995年5月20日,Qt 0.90被上传到https://www.360docs.net/doc/0615752765.html,。六天后,这一发布在comp.os.linux.announce被宣布。这是Qt的第一个公共发行版。Qt可以被用在Windows 和Unix开发中,在两个系统中提供相同的API。Qt从一开始就可以在两种许可协议下获取:一个是商业开发中需要的商业许可协议,一个用于开源开发的自由软件版。 1996年3月,欧洲航天局成为Qt的第一个客户,一下买了十个Qt商业许可。Qt 0.97在同年的5月底发布,1996年9月24日,Qt 1.0发布。到了同年年底,Qt到达了版本1.1;拥有8个客户,每一个都在不同的国家,他们购买了18个商业许可。 Qt 1.2 在1997年4月发布。Matthias Ettrich利用Qt构建KDE的决定帮助Qt成为Linux C++ GUI 开发的实际标准,1997年9月Qt 1.3发布。 1998年9月,Qt 1的最后一个主要发行版1.40发布。Qt 2.0于1999年7月发布。Qt 2有了一个新的开源许可协议,发布许可协议(QPL),遵守开源的定义。1999年8月,Qt赢得了LinuxWorld的“最佳开发库/工具”大奖。 2000年奇趣科技发布了Qtopia核心(后来成为Qt/Embedded)。它被设计用来运行在嵌入式Linux设备上并提供了自己的窗口系统作为X11的一个轻量级代替。现在Qt/X11和Qtopia核心都可以通过GNU通用许可(GPL)获取。到2000年年底,奇趣科技成立了Trolltech Inc.(USA)并且发布了Qtopia的第一个版本,一个移动电话和PDAs应用程序平台。Qtopia赢得了2001和2002年LinuxWorld的“最佳嵌入式 Linux 解决方案”大奖,

基于Qt5的闹钟实现代码

本程序基于QWidget实现,可以动态显示钟表,并且可以添加铃声 头文件widget.h代码如下: #ifndef WIDGET_H #define WIDGET_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); signals: void isCurrentTime(); private: Ui::Widget *ui; void init(); void layout(); void con();

QLCDNumber *lcdNumber; QLabel *label; QTimeEdit *timeEdit; QPushButton *button; QTimer *timer; QTimer *uptimer; QTimer *dtimer; QTimer *itimer; QRect rect; int x; int y; double du; QSystemTrayIcon *trayIcon; QAction *restoreAct; QAction *quitAct; QMenu *trayIconMenu; private slots: void clockChange(); void dialogUp(); void mini(); void down(); void comToCur(); protected: void closeEvent(QCloseEvent *e); }; #endif // WIDGET_H 源文件widget.cpp代码如下: #include "widget.h" #include "ui_widget.h" #include #include #include Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); init(); layout(); con();

基于Qt的TCPIP网络通信实现

基于tcp/ip网络通信的实现

摘要 如今随着计算机网络的不断发展,生活和工作环境的不断变化,以网络为重心的信息服务和通信服务受到各行各业的重视。而在当今各种聊天工具竟然日趋激烈的时代,在服务,技术等各个环节都做到更好的同时,如何把现代的网络应用技术与通信技术结合起来,让世界各地的人方便交流。 本课题的最终目的是基于Qt的TCP/IP协议的进行客户端和服务端之间进行聊天。本文中就该系统的设计思想、实现方法以及所采用的技术进行了系统的阐述,本文分为以下几个部分: 前言部分概括客户端和服务端之间通信的意义。 第一章介绍了课题实现的可行性研究。 第二章介绍了客户端和服务端具体通信的过程。 第三章是本文的核心部分,着重介绍和总结了本系统的实现思想、方法以及具体实现方案; 第四章对本聊天软件进行了总结和展望; 关键词:QT、tcp SOCKET、客户端服务端

第一章客户端与服务端通信的可行 性 1.1 课题的研究目标 本课题的最终目的是通过Qt Creator开发工具设计客户端和服务端的界面,进一步让客户端和服务端之间进行通信。 1.2 设计思路的分析和可行性 本如软件采用服务器和客户端的形式。服务器负责监听客户端和接收客户端发送过来的信息,并在显示在界面上。客户端则向服务端发送信息,在本地呈现的同时,通过网络实时发往服务器。用户在服务器器上也可以看见客户端发送的消息,并获取最新客户端发送的消息。 网络编程技术的成熟和界面设计技术使得客户端与服务端通信的设计成为可能,而且此软件同过设置IP是聊天通信更为方便。 1.3 开发环境和开发技术的选用 我们选用的开发环境是Qt Creator开发工具,Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言

用QT实现桌面时钟设计.doc

附件二【学生用】 西北农林科技大学信息工程学院 面向对象实习实习报告 题目:桌面时钟设计与实现 学号 姓名 专业班级 指导教师 实践日期

目录 一、综合训练目的与要求 (1) 二、综合训练任务 (1) 三、总体设计 (2) 四、详细设计说明 (4) 五、调试与测试 (5) 六、实习日志 (9) 七、实习总结 (9) 八、附录:核心代码清单 (9)

一、综合训练目的与要求 正文这次面向对象实习实践活动是在C++面向对象程序设计之后进行的实践环节旨在加深对面向对象编程的设计思想(类的设计,抽象,封装,包含与继承,多态性,UML图)的理解,掌握使用C++编程的基本的技能,从而能通过小型的团队开发一些小软件的实现与设计,并能够解决一定的实际问题。以及掌握撰写规范程序设计文档的能力,还有训练语言组织与表达能力,提高综合能力。 二、综合训练任务 1、需求分析 随着科学技术的不断发展,计算机已经成为了我们日常工作生活和学习中不可缺少的工具,很多人每天都使用计算机与外界进行交互,为了让用户对计算机有更舒心的体验,桌面的个性化是必不可少,因此很有必要设计美观使用的桌面的小软件,来让计算机更加人性化,二当今社会是信息时代,生活节奏也随即加快,而一个美观的能提示显示时间和日历的小软件能让人们合理安排自己的行程,避免不必要的损失,因此桌面时钟有一定的需求性。 2、任务实现 (1)良好的人机交互界面是用户所亲睐的。 (2)使用QT Creater 来开发该界面程序。 (3)采用面向对象的思想实现时钟类、设置类的封装和与实现 (4)实现软件界面的布局 (5)为了实现不同类之间的联系提供类的接口。 (6)实现对代码的编写和调试工作,每天记录实习日志 (7)独立完成论文并进行答辩。

Qt学习:设计器Qt Designer实现(1)

分类:Windows平台 用设计器Qt Designer实现计算圆面积,完成下图所示的功能(布局图):当用户输入一个一个圆半径之后,可以显示计算后的圆的面积值 控件的属性设置如下: class text o bject QLabel 半径 radiusLabel 1.//dialog.h 2.#ifndef DIALOG_H 3.#define DIALOG_H 4. 5.#include 6. https://www.360docs.net/doc/0615752765.html,space Ui { 8.class Dialog; 9.} 10. 11.class Dialog :public QDialog 12.{

13. Q_OBJECT //该宏的作用是启动Qt元对象系统的一些特性(比如支持信号和槽等) 14.//它必须放到类定义的私有区 15. 16.public: 17.explicit Dialog(QWidget *parent = 0); 18.~Dialog(); 19. 20.private slots: 21. void on_countBtn_2_clicked(); 22. 23.private: 24. Ui::Dialog *ui; 25.}; 26. 27.#endif // DIALOG_H 点击(此处)折叠或打开 1.//dialog.cpp 2.#include "dialog.h" 3.#include "ui_dialog.h" 4.#include 5. 6.const static double PI = 3.1416; 7. 8.Dialog::Dialog(QWidget *parent): 9. QDialog(parent), 10. ui(new Ui::Dialog) 11.{ 12. ui->setupUi(this); 13.} 14. 15.Dialog::~Dialog() 16.{ 17. delete ui; 18.} 19. 20.void Dialog::on_countBtn_2_clicked() 21.{ 22. bool OK; 23. QString tempStr; 24. QString valueStr = ui->radiusLineEdit->text(); 25.int valueInt = valueStr.toInt(&OK); 26. double area = valueInt * valueInt * PI;//计算圆面积 27. ui->areaLabel_2->setText(tempStr.setNum(area));

Qt实现软件自动更新

前言 最近在学习Qt开发上位机,想实现一个检查更新的功能,网上搜索了 一大圈,发现实现过程都很复杂,关键是代码看不懂,所以就自己开发一种 简单的方式来实现。实现效果如下: 1.点击“检查更新”按钮,如果当前版本低于远程的版本,那么会弹出如下 窗口,提示更新,并显示远程的的版本号,更新时间,更新说明,如下图所示: 2.如果点击"去下载",那么会调用系统默认浏览器,直接创建下载任务。点击"不更新",则取消更新。 如果当前版本号和远程一致,那么会提示"已经是最新版本": 实现原理 首先在远程放置了一个文件,内容包含最新版软件的版本号、下载链接、更新时间、更新说明等,当用户点击"检查更新"时,会访问这个文件的地址,并对文件内容进行解析,得到最新的版本号、下载链接、更新时间、更新说 明等,如果版本号比当前软件的版本号高,那么弹出更新窗口。

我们先创建一个文本文件,可以是TXT格式、XML格式、JSON格式等等,因为之前学习过JSON的解析,所以这里我选择了JSON格式,当然选择其他格式也都是可以的。命名为 software_update.json,内容如下: 1.{ 2."PulseSensor": 3. { 4. "LatestVerison":"V1.1", 5. "Url":" //XXX. XXX. XXX /Demo_v1.1.exe", 6. "UpdateTime":"2019-03-31", 7. "ReleaseNote":"\n1.添加检查更新说明,包含版本号,下载链接,更 新时间,更新说明.\n2.优化“关于”界面" 8. }, 9."RGBContrl": 10. { 11. "LatestVerison":"V1.0", 12. "Url":" //***. ***.***/Demo_v1.1.exe", 13. "UpdateTime":"2019-03-30", 14. "ReleaseNote":"版本说明" 15. } 16.} 其中Url键值,是最新版软件的下载地址,然后把这个文件存放到服务器上,可以通过链接直接访问,如果有软件发布,只需要修改这个文件的内容:版本号、下载链接、更新说明、更新时间。当然,从文件内容也可以看出,支持多个软件的说明放在一起。 Qt端的实现 Qt端的实现,主要使用到了网络请求和JSON解析两个部分。 1.pro文件添加网络支持 1.# 网络请求 2.QT += network 2.添加头文件 1.//网络相关头文件 2.#include 3.#include 4.#include 5.//JSON相关头文件 6.#include 7.#include 8.#include 3.对象的定义和函数的声明 1.QNetworkAccessManager *manager; //定义网络请求对象 2.int parse_UpdateJSON(QString str); //解析数据函数的声明 3.void replyFinished(QNetworkReply *reply); //网络数据接收完成槽函数的声 明 4.QString CurVerison = "V1.1"; //定义当前软件的版本号 4.连接信号与槽 1.manager = new QNetworkAccessManager(this); //新建 QNetworkAccessManager对象

用qt实现类似qq截图的工具代码

[文件] ShotPixmap20110227.rar ~ 6KB 下载(385) [代码] widget.cpp #include"widget.h" #include"ui_widget.h" #include Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); createWidgets(); createConnects(); createEventFilter(); } Widget::~Widget() { delete ui; delete quit; delete mini; delete restore; delete menu; delete trayIcon; delete fullScreenLabel; delete shotScreenLabel; } bool Widget::eventFilter(QObject *o, QEvent *e) { if (o != fullScreenLabel) { return Widget::eventFilter(o, e); } QMouseEvent *mouseEvent = static_cast (e); //true 鼠标左键按下且按键还未弹起 if ((mouseEvent->button() == Qt::LeftButton) && (mouseEvent->type() == QEvent::MouseButtonPress)) { //鼠标左键标志位按下

QT实现漂亮的数据加载窗口-附源码

在用户等待数据加载的时候,一个好看的数据加载界面是非常重要的。刚好最近工作可能也要实现一个好看的数据加载等待界面,于是乎在互联网上阅览一番之后没找到比较好看的样子,因此决定手动实现一个。 QT提供丰富的图形绘制接口,可以绘制出非常炫酷的图形,可以说只要提供一个好看的设计图,用QT都能实现出来。 话不多说,下面把上图的实现思路介绍一下,最后附上源码 1、由于QT窗口默认是矩形的,而且不透明,因此为了实现圆形背景,需要先设置窗口背 景为纯透明,然后再绘制这个圆形。 2、从图中可以看出,背景圆形的颜色是从中心到边沿渐变由浅到深的,这里使用QT提供 渐变类QRadialGradient可以实现。 3、中间的固定文字和进度文字没什么可说的,关联具体的加载工作更新即可 4、上图中最麻烦的可能就是边沿的动态旋转条了,两条旋转条其实是对称的,实现了一边 就能轻易实现另一边。旋转条也是渐变的,从头到尾透明度逐渐增加,颜色也逐渐变化,这个可以通过QT提供的QConicalGradient类来实现。 5、而旋转效果就是通过定时器定时旋转坐标系来实现,这种方式是实现旋转效果的最简单 方式。

下面附上源码: LoadingProgressDialog.h #ifndef LOADINGPROGRESSDIALOG_H #define LOADINGPROGRESSDIALOG_H #include class QTimer; class LoadingProgressDialog:public QDialog { Q_OBJECT public: LoadingProgressDialog(QWidget*parent=0); ~LoadingProgressDialog(); void paintEvent(QPaintEvent*event); void mousePressEvent(QMouseEvent*event); void mouseDoubleClickEvent(QMouseEvent*event); public slots: void updateAngle(); void updateProgress(); private: int percent; QString description; QStringList descriptionList; int descriptionIndex; qreal angle;//旋转角度 bool isCursor;//光标形式或者圆弧形式 QTimer*angleTimer; QTimer*percentTimer; QTimer*descriptionTimer; };

实时数据曲线绘制的Qt编程实现_图文(精)

2008年10月 第45卷增刊2 四川大学学报(自然科学版) JournalofSichuanUniversity(NaturalScienceEdition) oCt.2008 V01.45 Suppl.2 文章编号:0490-6756【2008)Suppl-0061…04 实时数据曲线绘制的Qt编程实现 杨盛毅1,文 方1,师娇2 (1.贵州大学电气工程学院。贵阳550003;2.北京理工大学宇航科学技术学院,北京100081) 摘要:动态绘制和显示实时数据曲线是工业测控系统中一项重要功能.本文提出了一种利用Qt编程动态绘制实时数据曲线的方案,解决了由于绘制时间较长而无法满足实时显示要求的问题,并通过实例介绍了其具体实现方法.实践证明该绘制方案能满足实时监控的要求.关键词:测控系统;实时数据曲线;Qt 中图分类号:TP311 文献标识码:A

Realizationof real_time data curve drawingbaseon Qtprogramming YANGSheng—Yil,WENFan91,SHIJia02 (1.CollegeofElectricEngineering,GuizhouUniversity,Guiyang550003,China, 2.SchoolofAerospaceScienceand Engineering.BeijingInstituteofTechnology,Beijing100081,China) Abstract:Dynamicdrawingandshowingthereal—timedata curve is an importantfunctionoftheindustri-

QT触摸屏的实现

用了一天的时间,阅读了大量的资源,总算把QT2.*的触摸屏给弄好了,哈.成就来的太容易,总觉得哪里有问题,不塌实...发出来让大家看看吧,欢迎交流,希望能给同样想解决这个问题的朋友们一些少许的帮助. 弄这个我主要参考了网上的尘封の觉醒的方法 #######需要的相关软件包: qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz tmake-1.13.tar.gz tslib.tar.gz #######解压上面的相关包以后,有以下几个目录: qt-2.3.10 qt-2.3.2 tmake-1.13 tslib tslib-install 这些解压以后的目录都放在同一个目录下,例如,我把他们都放在了/root/myTslib/下 #######设置相关的环境变量 这些环境变量都是在/root/myTslib/ 下设置的,因为我把上面解压以后的文件夹放在了此目录下. export QTEDIR=$PWD/qt-2.3.10 export QT2DIR=$PWD/qt-2.3.2 export TMAKEDIR=$PWD/tmake-1.13 export TSLIBDIR=$PWD/tslib export TSLIBINST=$PWD/tslib-install export LD_LIBRARY_PATH=$TSLIBINST/lib export CC=arm-linux-gcc cd tslib ./autogen.sh --host=arm-linux --prefix=$TSLIBINST make -j4 make install ########注意::在编译qte-2.3.10和qte-2.3.2 时,$TMAKEDIR/lib/qws/linux-arm-g++/tmake.conf文件中 “TMAKE_LINK= arm-linux-gcc” “TMAKE_LINK_SHLIB= arm-linux-gcc” 一定是上面的那样,用gcc #####cp tslib to qte lib dir cp -a $TSLIBDIR/src/.libs/* $QTEDIR/lib/ cp -a $TSLIBDIR/plugins/.libs/*.so $QTEDIR/lib/

基于QT的嵌入地图实现

QT 正征百须须t年c具 占正放Emb年平平年平 存白t年须 也颇a27政 Ma板典白页百版丽5 占正 A也存 Ma板典白页百 占正 Ma板典白页百版丽5 占正放Emb年平平年平

QT-based Design and Implementation of Electronic Map ABSTRACT People constantly improve the quality of life, inter-city exchanges between the more frequent, navigation has become an indispensable part of life. Navigation electronic map is the most important part, the electronic map will work quite complicated, the price is also more expensive, to navigation systems development is a big trouble. If the master electronic map drawing method, then not only with research and development of great significance, and will bring greater economic benefits. In this connection, the subject of the e-map rendering and related research carried out the preparation procedures. Subject to the Trolltech's QT / Embedded-depth analysis and research based on the development of a digital map based on Intel Pxa270. Map data from the actual use of Mapinfo9.5 own digital maps drawing. QT's API through the chart data combined with Mapinfo, the map shows the procedure in the QT framework. Then carried out the functions related to the design, including the design of the engine map, path planning, real-time location and design. Key words Mapinfo9.5 QT/Embedded Electronic map

成都理工qt课程设计实验报告基于qt实现的简易音乐播放器大学毕设论文

程序设计基础课程设计(论文) 设计(论文)题目 基于Q T实现的简易音乐播放器 学院名称信息科学与技术 专业名称软件工程 学生姓名徐玉祥 学生学号201413040202 任课教师李军 设计(论文)成绩 教务处制 2015年5 月13 日

填写说明 1、专业名称填写为专业全称,有专业方向的用小括号标明; 2、格式要求:格式要求: ①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 ②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm, 左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准);页码用小五号字底端居中。 ③具体要求: 题目(二号黑体居中); 摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体); 关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题; 第1章××(小二号黑体居中,段前0.5行) 1.1 ×××××小三号黑体×××××(段前、段后0.5行) 1.1.1小四号黑体(段前、段后0.5行) 参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献著录规则(GB/T 7714-2005)》。

基于QT实现的简易音乐播放器 作者姓名:徐玉祥专业班级:201413040202 指导教师:李军 摘要 随着现在科技的发展,越来越多的嵌入式设备已经被广泛应用于生活中,这大大提高了人们的生活质量。时下,音乐播放器已经成为人们生活中不可或缺的必备品。它的诞生,让动听的声音有了存储的载体,得以广泛的传播和分享。然而,各种播放器功能特点不同,有些功能强大却占用系统资源多,有些软件小却不支持多种音频格式。 论文在讨论Qt Phonon媒体框架的基础上,通过对音乐播放器的基本功能进行了分析和界面的总体设计,提出一套适用于嵌入式系统的媒体播放器框架方案,并最终运用Qt Creator实现了整个应用,通过测试运行表明该音乐播放器基本功能完善、运行稳定,能够较好地满足实际应用的需要。 关键词:嵌入式;播放器;Qt;Phonon

相关主题
相关文档
最新文档