我通过以下导入获得以下错误.它似乎与大熊猫导入有关.我不确定如何调试/解决这个问题.
进口:
import pandas as pd
import numpy as np
import pdb, math, pickle
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
错误:
In [1]: %run NN.py
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/home/abhishek/Desktop/submission/a1/new/NN.py in <module>()
2 import numpy as np
3 import pdb, math, pickle
----> 4 import matplotlib.pyplot as plt
5
6 class NN(object):
/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/pyplot.py in <module>()
112
113 from matplotlib.backends import pylab_setup
--> 114 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
115
116 _IP_REGISTERED = None
/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/backends/__init__.py in pylab_setup()
30 # …Run Code Online (Sandbox Code Playgroud) 我必须使用类型函数的输出,const char*我需要将其转换为QString.
注意:在该函数内部,这些是返回的代码行 const char*
char* ClassA::getData() const{
return const_cast<char *> (_foo.c_str());
}
Run Code Online (Sandbox Code Playgroud)
哪里_foo是std::string.
我尝试使用以下代码行但总是得到空字符串(实际上不是空的但只包含新的行字符而忽略所有其他字符).
QString foo1 = QString(temp.getData());
QString foo2 = QString::fromLocal8Bit(temp.getData());
QString foo3 = QString(QLatin1String(temp.getData()));
QString foo4 = QString::fromAscii(temp.getData());
QString foo5 = QString::fromUtf8(temp.getData());
Run Code Online (Sandbox Code Playgroud) 我有这样一个部门:
number / 1000.0
Run Code Online (Sandbox Code Playgroud)
有时它会给出96.0000000001这样的答案,有时候除法会按预期运行.
我想将我的数字限制为最多两个小数位并且没有尾随零.
如果它是96.5500000001它应该显示96.55.
如果是96.4000000001则应显示96.4
可以用这种方式格式化字符串吗?
我检查了文档,它提供了'f'参数来指定小数位数,但这样尾随的零保持不变.这是我尝试过的:
QString::number(number / 1000.0, 'f', 2)
Run Code Online (Sandbox Code Playgroud)
但这给了我96.4000000001 - > 96.40而不是96.4
有解决方案吗 我怎样才能以这种方式格式化?
这是一个可重复的例子:
main.qml
import QtQuick 2.0
Item {
id : root
width: 360
height: 360
Text {
id : t1
text: qsTr("Hello World")
property int someNumber: 1000
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
main.cpp中
#include <QtGui/QGuiApplication>
#include <QQmlEngine>
#include <QQmlComponent>
#include <QQmlProperty>
#include <QDebug>
#include "qtquick2applicationviewer.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/untitled/main.qml"));
viewer.showExpanded();
QQmlEngine engine;
QQmlComponent component(&engine, "qml/untitled/main.qml");
QObject *object = component.create();
qDebug() << "Property value:" << QQmlProperty::read(object, …Run Code Online (Sandbox Code Playgroud) 我是Qt的新手.大多数时候,Qt开发人员需要使用信号和插槽进行对象通信.到目前为止,我已经看到了两种连接信号和插槽的方法.
1)QObject::connect(scrollBar, SIGNAL(valueChanged(int)),label, SLOT(setNum(int)));
2)connect(scrollBar, SIGNAL(valueChanged(int)),label, SLOT(setNum(int)));
Run Code Online (Sandbox Code Playgroud)
两者之间的确切区别是什么?为什么我们必须在第一种方法中为QObject加前缀?
我想检测用户是否在文件保存对话框中输入了非ASCII(否则错误地称为Unicode)字符(例如,り).当我使用Qt时,任何非ASCII字符都正确保存在QString中,但我无法弄清楚在将字符串转换为ASCII之前如何确定该字符串中的任何字符是否为非ASCII.上面的那个字符最终被写入文件系统り.
我有一个类似以下的JSON:
{
"agentsArray": [{
"ID": 570,
"picture": "03803.png",
"name": "Bob"
}, {
"ID": 571,
"picture": "02103.png",
"name": "Tina"
}]
}
Run Code Online (Sandbox Code Playgroud)
现在我试图遍历每个数组元素.使用qt-json库https://github.com/da4c30ff/qt-json
尝试:
foreach(QVariantMap plugin, result["agentsArray"].toList()) {
qDebug() << " -" << plugin["ID"].toString();
}
Run Code Online (Sandbox Code Playgroud)
但无法让它发挥作用,任何想法我做错了什么?
在我的应用程序中,我有一个实例QTimer,其timeout()信号连接到主窗口对象中的一个插槽,导致它定期被调用.插槽用相机拍照并将其保存到磁盘.
我想知道QTimer当接收器(主线程上的窗口对象)当前正忙时(如同拍摄并保存前一张图片),如果发出信号(来自执行的单独线程,我推测)会发生什么.在前一个呼叫终止后,呼叫是否排队并执行?整个想法是让它定期运行,但这些调用可以排队,然后当控制返回到事件循环时随机调用,导致混乱吗?我怎么能避免呢?从理论上讲,插槽应该快速执行,但是假设硬件有一些问题并且存在停顿.
我希望在这种情况下调用被丢弃而不是排队,更有用的是能够在发生时作出反应(警告用户,终止执行).
我想知道是否可以指定多种连接类型.例如,我希望我的连接类型是排队连接和唯一连接.是否可以在一个声明中指定?
QObject::connect(ptrSender,SIGNAL(..),ptrReceiver,SLOT(...),Queued-and-unique)
Run Code Online (Sandbox Code Playgroud)
更新:
根据海报的建议:
我试过用 Qt::QueuedConnection | Qt::UniqueConnection但是得到了
`Error 1 error C2664: 'QMetaObject::Connection QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : cannot convert parameter 5 from 'int' to 'Qt::ConnectionType'
Run Code Online (Sandbox Code Playgroud) 我是c ++和Qt的新手,我正在尝试初始化一个QVector,它是类初始化列表中的类成员,如:
MyClass::MyClass(QWidget *parent) : QMainWindow(parent) , myVector(QVector<double>(100))
Run Code Online (Sandbox Code Playgroud)
我期待QVector已经有100个索引,但是当我尝试读取时,myVector[0]我得到一个断言错误,说"test.exe中的0x0143bf77处的未处理异常:0xC0000005:访问冲突读取位置0x00000004." 程序在Qt的这一行停止:
inline T &QVector<T>::operator[](int i)
{ Q_ASSERT_X(i >= 0 && i < d->size, "QVector<T>::operator[]", "index out of range");
return data()[i]; }
Run Code Online (Sandbox Code Playgroud)
我相信这表明我正在尝试访问尚未分配的成员,所以我想我没有正确使用初始化列表.我可以把它作为一个指针并new QVector(100)在构造函数中创建一个但我想知道什么是错的,我怎么能使它正确.