在
Qt
中支持 MIDI 的一种简单的跨平台方式。 支持 MIDI
输出
和 MIDI 文件 I/O。 Windows (Windows Multimedia)、Linux (ALSA)、Haiku (Midi Kit 2) 和 macOS (CoreMIDI) 支持 MIDI
输出
。
MIDI
输出
QMidiOut类为系统的 MIDI
输出
提供了一个接口。
/* devices() returns a QMap where the key is the ID and
* the value is the user-friendly name. */
QMap<
QString
> vals = QMidiOut::devices();
QMidiOut midi;
midi.connect( /* one of the keys (IDs) from `de
有时候想在
控制台
输出
我们想要的
QString
变量。
1、qDebug可以实现在
控制台
终端打印,但我们还是想使用
C++
中的std::
cout
<<variable
This function does nothing if
QT
_NO_DEBUG_OUTPUT was defined during compilation.
2、网上说的方法利用
QT
extStream:
QString
cout
乱码问题
解决
QString
在终端
输出
乱码问题,使用
QString
.toLocal8Bit().data()或者
QString
.toLocal8Bit().constData()函数
int main(int argc, char *argv[])
QCoreApplication a(a...
QT
中 一般使用的是 qDebug() 对外进行打印的
当然 因为
qt
的语言是
c++
,所以
qt
自然可以使用 std::
cout
进行
输出
,而
C++
又向下兼容C ,自然也可以使用printf 进行
输出
的!
这几种打印的
输出
效果如下: 可以明显的发现 不同的打印糅合到一起使用的时候 打印的顺序出现了问题!!!!!
实验中 只有当窗口完全关闭的时候 printf的数据才打印出来了!
而且debug的数据会部分滞后
cout
, 猜测可能是 内部实现上存在缓存,不是立即刷向硬件!
所以实际的开发过程中
Qstring
乱码问题通常是由于编码问题引起的。首先需要确保你的字符串是以 UTF-8 编码的,因为在
Qt
4 中,
QString
默认使用 UTF-8 编码。如果你的字符串是其他编码格式,可以使用 fromXXX() 函数将其转化为
QString
,例如:
QString
str =
QString
::fromLocal8Bit("中文字符串");
如果你已经确定你的字符串是以 UTF-8 编码的,但仍然出现乱码,那么可能是因为你的程序未正确设置编码。你可以在 main() 函数中设置编码:
QT
extCodec::setCodecForCStrings(
QT
extCodec::codecForName("UTF-8"));
这将确保你的程序正确识别 UTF-8 编码。如果你仍然遇到问题,可以尝试使用
QT
extCodec 进行手动编码转换。