小编Nej*_*jat的帖子

如何将int转换为QString?

是否有一个QString函数接受一个int并将其输出为QString

c++ qt type-conversion

343
推荐指数
7
解决办法
44万
查看次数

如何将QString转换为std :: string?

我想做这样的事情:

QString string;
// do things...
std::cout << string << std::endl;
Run Code Online (Sandbox Code Playgroud)

但代码不编译.如何将qstring的内容输出到控制台(例如出于调试目的或其他原因)?如何转换QStringstd::string

c++ qstring qt type-conversion

222
推荐指数
7
解决办法
27万
查看次数

手工编码的GUI与Qt Designer GUI

我正在花这些假期学习编写Qt应用程序.几个小时前我正在阅读有关Qt Designer的内容,这让我想知道:人们在Qt中编写真实世界的应用程序用于设计他们的GUI是什么?事实上,人们如何设计GUI一般?

我,其中一个,发现手工编写代码在概念上比使用Qt Designer更简单,尽管对于复杂的GUI,Designer可能有意义.使用Designer可以实现大型GUI,但随着时间的推移,随着复杂性的增加,它们可能变得非常难以管理(这只是我的意见).我还下载了AmaroK源代码,看看那些人在做什么,并发现很多调用addWidget()和朋友,但没有一个由Designer创建的XML文件(除了:AmaroK必须是我最喜欢的应用程序)任何平台).

那么,创建GUI的"正确"方式是什么?设计师还是代码?在本次讨论中,让我们考虑以下类型的GUI:

  1. 简单的对话框,只需要输入,显示一些结果并退出.我们假设一个应用程序采用YouTube URL并将视频下载到用户的硬盘上.新手很可能会开始使用那种应用程序.
  2. 中级GUI,比如说带有一些工具栏/菜单项的便利贴编辑器.我们以xPad为例(http://getxpad.com/).我会说大多数应用程序属于"实用程序"类别.
  3. 非常复杂的GUI,如AmaroK或OpenOffice.当你看到它们时,你知道它们,因为它们让你的眼睛流血.

c++ user-interface qt rad qt-designer

112
推荐指数
7
解决办法
4万
查看次数

Qt:单实例应用程序保护的最佳实践

QSingleApplicationQMutexQSharedMemory?我正在寻找能在Windows,OSX和Linux(Ubuntu)中顺利运行的东西.使用Qt 4.7.1

c++ qt qmutex qsharedmemory

39
推荐指数
3
解决办法
2万
查看次数

Qt中的QPointer,QSharedPointer和QWeakPointer类有什么区别?

我已经约了Qt单证阅读QPointer,QSharedPointerQWeakPointer类.它说:

  1. QPointer 是一个模板类,它提供了对Qt对象的保护指针,其行为类似于普通的C++指针,只是当被引用的对象被销毁并且没有产生"悬空指针"时它会自动设置为0.

  2. QSharedPointer class拥有对共享指针的强引用.

  3. QWeakPointer class持有对共享指针的弱引用.

我的问题是"这些课程有什么区别?".即指向对象的指针和指针的引用之间的区别是什么?它们都是指向具有不同机制和行为的对象的指针吗?

c++ qt pointers qpointer qsharedpointer

29
推荐指数
2
解决办法
2万
查看次数

如何在QFileDialog上设置选定的过滤器?

我有一个带有三个过滤器的打开文件对话框:

QString fileName = QFileDialog::getOpenFileName(
        this,
        title,
        directory,
        tr("JPEG (*.jpg *.jpeg);; TIFF (*.tif);; All files (*.*)")
);
Run Code Online (Sandbox Code Playgroud)

这将显示一个对话框,其中"JPEG"被选为默认过滤器.我想按字母顺序放置过滤器列表,因此"所有文件"在列表中排在第一位.但是,如果我这样做,"所有文件"是默认选择的过滤器 - 我不想要.

我可以为此对话框设置默认选定的过滤器,还是必须使用第一个指定的过滤器?

我尝试指定第5个参数(QString)来设置默认选择的过滤器,但这不起作用.我认为这可能只用于检索用户设置的过滤器.

c++ qt qt4

28
推荐指数
1
解决办法
3万
查看次数

如何在Qt Designer中管理QSplitter

当我按下一个按钮时,我会弹出一个用户选择的对话框并在结尾处按"确定".我想在这个对话框中有一个分割器.左侧窗格将显示树,右侧将显示其他内容.我该怎么做?

从Qt示例本身:

 QSplitter *splitter = new QSplitter(parent);
 QListView *listview = new QListView;
 QTreeView *treeview = new QTreeView;
 QTextEdit *textedit = new QTextEdit;
 splitter->addWidget(listview);
 splitter->addWidget(treeview);
 splitter->addWidget(textedit);
Run Code Online (Sandbox Code Playgroud)

因此,在此示例中,创建拆分器时没有任何对话框资源.如果我必须创建这种方式,那就意味着我必须在代码中创建所有控件而不是Qt Creator.

当我需要屏幕上的其他控件时,这样做的正确方法是什么?

c++ qt qsplitter qt-creator qt-designer

28
推荐指数
2
解决办法
2万
查看次数

KDE桌面效果中的OpenGl和XRender有什么区别?

在KDE环境中,当您转到桌面效果时,在高级选项卡中有一个名为"合成类型"的选项,可以将其设置为OpenGl或XRenderer.

  1. 这两个选项有什么区别?

  2. 每个选项的用例是什么?

linux opengl kde

25
推荐指数
2
解决办法
2万
查看次数

如何在Windows中使QLineEdit无法编辑

我正在使用Qt 5.2,我想做一个QLineEdit不可编辑的.这个问题是它看起来不像.使用setReadOnly(true)时保持白色背景,看起来仍然可以编辑.

如果我禁用它,它会变成灰色,文本也会变浅.问题是,在禁用状态下无法复制文本.

那么我怎样才能使一个QLineEdit正确的不可编辑,并使它看起来像它.在Windows中,这样的控件通常是灰色的,但文本保持黑色.当然我可以手动设置样式,但这意味着它是硬编码的,在其他平台上可能看起来不对.

c++ qt readonly qlineedit

21
推荐指数
2
解决办法
2万
查看次数

QQuickView和QQuickWindow有什么区别?

我目前正在使用Qt 5.2.1 ......我有一个(也许是愚蠢的?)问题:QQuickView和之间的区别是什么QQuickWindow

我看了文档,但我还不清楚......

c++ qt qt-quick qt5 qtquick2

17
推荐指数
1
解决办法
8154
查看次数