草庐IT

Qt-Quick

全部标签

QT styleSheet——控件设置样式表

QT开发中,需要设置多种多样的控件表现形式,QT实现的styleSheet能够满足多种多样的场景,这里简单的记录下一些我常用的设置透明背景,鼠标悬浮时,设置背景色:pushButton->setStyleSheet("QPushButton{background:transparent;border:none;}QPushButton:hover{background-color:rgba(200,200,200,255);}")//这里设置pushButton的背景,正常情况下背景设置为透明,当有鼠标悬浮时,设置背景色rgba(200,200,200,255)根据控件的property值设置

c++ - 使用图像的形状在 qt 中创建一个窗口

有人能解释一下如何根据图像中某些对象的形状在qt中制作一个窗口吗?例如,我有一张树的图像,我需要使用它来创建一个树形的窗口.. 最佳答案 Afteralongsearch,myselffoundagoodsolution,checkoutthis..#includeclassmyMainWindow:publicQMainWindow{public:myMainWindow():QMainWindow(){setMask((newQPixmap("saturn.png"))->mask());QPalette*palette=new

c++ - Qt5 到 Qt4 UI 文件兼容性

Qt5生成的UI/表单文件是否向后兼容Qt4?比如,我可以获取源文件、header和UI文件并使用Qt4重新编译而不会出现问题吗? 最佳答案 uic生成的文件在Qt5中会有#include,这在Qt4中当然不起作用。或者你说的是.uiQtDesigner/Creator生成的文件?相反,这些将在没有更改的情况下工作(当然,模数使用仅Qt5或仅Qt4类)。 关于c++-Qt5到Qt4UI文件兼容性,我们在StackOverflow上找到一个类似的问题: http

c++ - 如何在Qt中编写客户端-服务器应用程序和实现简单的协议(protocol)

也许这是个愚蠢的问题,实际上它很有吸引力,或者Qt对我来说太复杂了。事情是这样的:我在编写客户端-服务器应用程序时习惯了java,它非常简单。我想在C++中做同样的事情(我对C++本身非常熟悉),我选择学习Qt。我尝试用qt编写一些应用程序,但部分成功。首先困扰我的是信号和槽。我知道如何在GUI编程中使用它们,但它让我对网络感到困惑。而且阻塞有问题。当我在java中调用BufferedReader的readLine()方法时,它会阻塞,直到它从套接字连接接收到行。在Qt中,我必须确保每次都有行可用,并在没有行时进行处理。当我将QSocket的错误信号连接到我的一些自定义槽时,信号在服务

c++ - 使用 QtConcurrent 在 QT 中实现多线程

我正在用Qt开发一个应用程序,它有时会处理一堆视频。它工作正常,但在处理阶段它只有40-60%的CPU使用率,所以我试图让它成为多线程。我使用QtConcurrent因为他的“高级别”而不是更传统的线程管理,我的代码很简单:for(inti=0;ifutureToken=QtConcurrent::run(this,process,listOfVideos.takeFirst());QFutureWatcher*fw=newQFutureWatcher();connect(fw,SIGNAL(finished()),this,SLOT(manageResult));fw->setFut

c++ - qt - 小数和四舍五入到整数

这是我目前所掌握的,但我无法确定下一步。当我将我的值除以3时,我得到了整数,但我希望它以一位小数显示,但我不知道该怎么做。完成后,我想根据其值向上或向下舍入小数。如果是3.5或以上,则应变为4,如果是3.4或以下,则应为3。voidMainWindow::on_pushButton_clicked(){intparagraph=ui->lineEdit->text().toInt();intsection=ui->lineEdit_2->text().toInt();intlines=ui->lineEdit_3->text().toInt();intsum=(paragraph*(l

c++ - Qt 去除边距

我目前正在使用QMainWindow小部件,我想删除内部小部件周围的边距。我成功地删除了窗口边框的边距,但没有删除窗口内的小部件的边距。这是我的代码,例如:this->mainWidget=newQWidget(this);this->mainLayout=newQHBoxLayout;QLabel*foo=newQLabel("foo",this);QLabel*bar=newQLabel("bar",this);mainLayout->setContentsMargins(0,0,0,0);//Removemarginsforwindowbordersthis->setWindow

c++ - 代理和 fetchMore()/canFetchMore() 背后的 Qt 模型

我很想知道当具有增量数据获取的主数据模型位于代理或代理链后面时,View会如何表现。像取消分组代理(示例:http://lynxline.com/jongling-qt-models/)这样的项目重排代理应该如何实现对fetchMore()/canFetchMore()的支持? 最佳答案 检查QSortFilterProxyModel的来源让我得出结论:QSortFilterProxyModel允许访问已经获取的行。调用rowCount、data等将表现为源表中没有更多数据。QSortFilterProxyModel(默认情况下是Q

c++ - Qt 中的 Objective-C with Mavericks

我一直在Qt中混合使用Objective-C和C++,没有任何问题;在需要时使用.mm文件。将我的构建机器升级到Mavericks后,我最初注意到缺少框架header,因此安装了XCode命令行工具,解决了这个问题。现在,我在编译Objective-C文件时遇到问题,错误提示框架中的代码。例如:-System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSUserNotification.h:16:44:error:missing','betweenenumeratorsNSUserNotificationAc

c++ - 使用 QT5_ADD_RESOURCES 和使用 CMake 进行多线程编译时损坏的资源 .cpp 文件

Qt5.0版本带来了一组更简单的命令来使用CMake构建Qt项目。参见http://qt-project.org/doc/qt-5/cmake-manual.html.需要使用命令QT5_ADD_RESOURCES包含项目的资源。如果我的资源文件名为Icon32.qrc,QT5_ADD_RESOURCES(RESOURCESIcon32.qrc)命令会自动将其转换为qrc_Icon32.cpp文件并定义一个${RESOURCES}变量,然后我可以将其包含到适当的目标中。这样做很完美,除了我在CDash中大约每20个构建出现一次编译错误。错误通常采用以下形式:/.../CMake/bui