小编tro*_*ane的帖子

QObject中无法访问的转换

这是我的示例代码:

class hoho : public QObject
{
    Q_OBJECT
public:
    hoho() 
    {
        httpFetch = new HttpFetch(QUrl("http://www.google.com/"));
        connect(httpFetch, SIGNAL(Fetched()), this, SLOT(PrintData(QByteArray)));
    }

    void PrintData(QByteArray http)
    {
        qDebug()<<http;
    }

    HttpFetch *httpFetch;
};
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,弹出以下错误

1>main.cpp(15): error C2243: 'type cast' : conversion from 'HttpFetch *' to 'const QObject *' exists, but is inaccessible
Run Code Online (Sandbox Code Playgroud)

这个错误来自于派生类QObject(信号和插槽机制所必需的).

谁能告诉我如何解决这个问题?

c++ qt

15
推荐指数
2
解决办法
7243
查看次数

GTK或Qt的图表小部件

是否有GTK或Qt的小部件可以让我画这样的股票图表?

http://smartquant.com/openquant/openquant_chart.jpg
(复制和网址粘贴由于盗链限制)

谢谢,乔尔

gtk charts qt stocks

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

Qt4如何在小部件内绘制?

Qt4,QtCreator

我想在Widget中绘制:

void Widget::on_pushButton_clicked()
{
    QPainter painter;

    painter.begin(ui->label);

    QRectF rectangle(10.0, 20.0, 80.0, 60.0);
     int startAngle = 30 * 16;
     int spanAngle = 120 * 16;
     painter.drawArc(rectangle, startAngle, spanAngle);

    painter.end();
}
Run Code Online (Sandbox Code Playgroud)

但是当我按下按钮时没有任何反应.

怎么做正确的方法?

graphics qt qt4 qt-creator

14
推荐指数
1
解决办法
4万
查看次数

Qt问题将参数传递给slot

我似乎无法将一个参数传递给一个插槽.如果我没有传递一个参数,那么函数会很好地滚动.如果我传递一个参数(整数),我编译时会得到错误"没有这样的名字类型"和"没有这样的插槽".

在我的标题中,我声明:

private slots:
void addButton(int);
signals:
void clicked(int)
Run Code Online (Sandbox Code Playgroud)

在我的Main.cpp中,我这样做:

int count;
int count = 0;
QPushButton* button = new QPushButton("Button");
_layout->addWidget(button);
connect(button, SIGNAL(clicked(count), this, SLOT(addButton(count)));
Run Code Online (Sandbox Code Playgroud)

....

void Main::addButton(int count) {

//do stuff with count

}
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 signals-slots

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

在QML中绘制虚线和点线贝塞尔曲线

我已经看到在QML有一个Bezier曲线的示例实现,但我正在寻找一个如何实现虚线或点状贝塞尔曲线的提示.据我所知,Bezier曲线示例的作者QSGGeometryNode用于存储内部,QSGGeometryQSGFlatColorMaterial在其上应用了材料.然后,他们只需创建点列表并在它们之间绘制段.

是否有可能写一个shader,并把它应用到QSGFlatColorMaterial(以显示线dashed,dotted等等)?

最终,是否可以存储多个QSGGeometry内部QSGGeometryNode

UPDATE

我想在"纯QtQuick"中实现它- 而不是在"旧"接口(例如QPainter etc)中 - 因为我不想使用切换上下文(openGL和CPU)的东西.我更喜欢使用自定义着色器的解决方案(如果它可行) - 因为我将有更多的可能性来实现自定义外观(虚线,溺爱,彩色,可能是动画等).

如果不可能,我会用QPainter.

c++ opengl shader qt qml

14
推荐指数
1
解决办法
7971
查看次数

在Android上Qt QML Camera to C++ QImage

我有一个基于Qt5.4的程序和一些图像处理.我使用QCameramy videoSurface(派生自QAbstractVideoSurface)来获取VideoFrames.它在Windows上运行良好.

但现在我需要我的应用程序的Android版本.我发现QCamera在Android上不起作用.但我看到QML Camera示例在Android上运行没有任何问题.

所以我决定用QML重写我的应用程序.主要问题:我无法在C++中访问QML Camera表面.

void myVideoOutput::setSource(QObject *source)
{
    qDebug() << Q_FUNC_INFO << source;

    if (source == m_source.data())
        return;
    m_source = source;
    if (m_source) {
        const QMetaObject *metaObject = m_source.data()->metaObject();

        QStringList properties;
        for(int i = metaObject->propertyOffset(); i < metaObject >propertyCount(); ++i)
            properties << QString::fromLatin1(metaObject->property(i).name());
        qDebug() << properties;

    }
    .....
    emit sourceChanged();
}
Run Code Online (Sandbox Code Playgroud)

此代码提供对属性的访问.但我无法以这种方式访问​​videoSurface(使用QCamera我可以做到).我想知道QML Camera是如何工作的?它是基于QCamera?我看QCamera *m_cameraQDeclarativeCamera...

所以我有两个问题:

  1. 是否可以在C++中使用QML Camera进行后期处理图像?工作实例非常有价值.
  2. 你知道在Qt中从Android摄像头捕获视频的其他方法吗?

qt camera android qml

14
推荐指数
2
解决办法
7200
查看次数

如何使用Qt禁用Alt + F4窗口关闭?

我使用这一行在我的对话框中禁用了Qt中的X按钮:

myDialog->setWindowFlags(Qt::Dialog | Qt::Desktop)
Run Code Online (Sandbox Code Playgroud)

但我无法使用此代码检测到Alt+ F4:

void myClass::keyPressEvent(QKeyEvent *e)
{
    if ((e->key()==Qt::Key_F4) && (e->modifiers()==Qt::AltModifier))
        doSomething();
}
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能在Qt中检测Alt+ F4或禁用它?

qt qt4 keypress qdialog qkeyevent

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

如何以编程方式单击QPushButton

我正在使用Qt.我通过Qt Creator在页面中添加了一个按钮.它与该方法相关联void MyPage::on_startButton_clicked().

我想以编程方式单击此按钮.我试过了ui->startButton->clicked(),它给了,

错误C2248:'QAbstractButton :: clicked':无法访问类'QAbstractButton'中声明的受保护成员

请帮忙.谢谢!

c++ qt

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

用于优化QtCreator编译器的配置

我在Windows 7中使用QtCreator.

我想将它配置为使用-O3c ++编译器的第三级优化().

我该怎么做才能加速我的代码以及需要进行哪些更改?

c++ qt g++ compiler-optimization qt-creator

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

如何在TexShop中添加-shell-escape选项

我正在使用该minted.sty包,它要求我-shell-escape在latex/xelatex编译期间使用该选项.我可以在控制台/终端上做到这一点.但是,我希望将此选项添加到TexShop中.我是Windows上WinEdit的先前用户,但最近已切换到Mac和TexShop,所以不知道该怎么做?

这是控制台输出:

Package ifplatform Warning: 
shell escape is disabled, so I can only detect \ifwindows.
))
! Package minted Error: You must invoke LaTeX with the -shell-escape  flag.

See the minted package documentation for explanation.
Type  H <return>  for immediate help.
...                                              

l.54 \makeatletter
Run Code Online (Sandbox Code Playgroud)

macos latex

12
推荐指数
1
解决办法
7427
查看次数