我想做这样的事情:
QString string;
// do things...
std::cout << string << std::endl;
Run Code Online (Sandbox Code Playgroud)
但代码不编译.如何将qstring的内容输出到控制台(例如出于调试目的或其他原因)?如何转换QString
为std::string
?
我正在花这些假期学习编写Qt应用程序.几个小时前我正在阅读有关Qt Designer的内容,这让我想知道:人们在Qt中编写真实世界的应用程序用于设计他们的GUI是什么?事实上,人们如何设计GUI一般?
我,其中一个,发现手工编写代码在概念上比使用Qt Designer更简单,尽管对于复杂的GUI,Designer可能有意义.使用Designer可以实现大型GUI,但随着时间的推移,随着复杂性的增加,它们可能变得非常难以管理(这只是我的意见).我还下载了AmaroK源代码,看看那些人在做什么,并发现很多调用addWidget()和朋友,但没有一个由Designer创建的XML文件(除了:AmaroK必须是我最喜欢的应用程序)任何平台).
那么,创建GUI的"正确"方式是什么?设计师还是代码?在本次讨论中,让我们考虑以下类型的GUI:
QSingleApplication
?QMutex
?QSharedMemory
?我正在寻找能在Windows,OSX和Linux(Ubuntu)中顺利运行的东西.使用Qt 4.7.1
我已经约了Qt单证阅读QPointer
,QSharedPointer
和QWeakPointer
类.它说:
QPointer
是一个模板类,它提供了对Qt对象的保护指针,其行为类似于普通的C++指针,只是当被引用的对象被销毁并且没有产生"悬空指针"时它会自动设置为0.
QSharedPointer
class拥有对共享指针的强引用.
QWeakPointer
class持有对共享指针的弱引用.
我的问题是"这些课程有什么区别?".即指向对象的指针和指针的引用之间的区别是什么?它们都是指向具有不同机制和行为的对象的指针吗?
我有一个带有三个过滤器的打开文件对话框:
QString fileName = QFileDialog::getOpenFileName(
this,
title,
directory,
tr("JPEG (*.jpg *.jpeg);; TIFF (*.tif);; All files (*.*)")
);
Run Code Online (Sandbox Code Playgroud)
这将显示一个对话框,其中"JPEG"被选为默认过滤器.我想按字母顺序放置过滤器列表,因此"所有文件"在列表中排在第一位.但是,如果我这样做,"所有文件"是默认选择的过滤器 - 我不想要.
我可以为此对话框设置默认选定的过滤器,还是必须使用第一个指定的过滤器?
我尝试指定第5个参数(QString
)来设置默认选择的过滤器,但这不起作用.我认为这可能只用于检索用户设置的过滤器.
当我按下一个按钮时,我会弹出一个用户选择的对话框并在结尾处按"确定".我想在这个对话框中有一个分割器.左侧窗格将显示树,右侧将显示其他内容.我该怎么做?
从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.
当我需要屏幕上的其他控件时,这样做的正确方法是什么?
在KDE环境中,当您转到桌面效果时,在高级选项卡中有一个名为"合成类型"的选项,可以将其设置为OpenGl或XRenderer.
这两个选项有什么区别?
每个选项的用例是什么?
我正在使用Qt 5.2,我想做一个QLineEdit
不可编辑的.这个问题是它看起来不像.使用setReadOnly(true)
时保持白色背景,看起来仍然可以编辑.
如果我禁用它,它会变成灰色,文本也会变浅.问题是,在禁用状态下无法复制文本.
那么我怎样才能使一个QLineEdit
正确的不可编辑,并使它看起来像它.在Windows中,这样的控件通常是灰色的,但文本保持黑色.当然我可以手动设置样式,但这意味着它是硬编码的,在其他平台上可能看起来不对.
我目前正在使用Qt 5.2.1 ......我有一个(也许是愚蠢的?)问题:QQuickView
和之间的区别是什么QQuickWindow
?
我看了文档,但我还不清楚......