小编jon*_*opf的帖子

Qt:QObject :: connect:无法连接(null)

我正在尝试QProcess将来自我的mainwindow()对象内部的信号连接到我的对象内的另一个QObject基类mainwindow()但是我收到此错误:

QObject::connect: Cannot connect (null)::readyReadStandardOutput () to (null)::logReady()
Run Code Online (Sandbox Code Playgroud)

下面是代码,它不是完整的,但我不知道为什么它不起作用.

exeProcess.h

#ifndef EXEPROCESS_H
#define EXEPROCESS_H

#include <QObject>


class exeProcess : public QObject
{
     Q_OBJECT
public:
    explicit exeProcess(QObject *parent = 0);

signals:
    void outLog(QString outLogVar); //will eventually connect to QTextEdit

public slots:
    void logReady();

};

#endif // EXEPROCESS_H
Run Code Online (Sandbox Code Playgroud)

exeProcess.cpp

#include "exeprocess.h"

exeProcess::exeProcess(QObject *parent) :
    QObject(parent)
{
}

void exeProcess::logReady(){
}
Run Code Online (Sandbox Code Playgroud)

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QProcess>

#include "exeprocess.h"

/*main window ---------------------------------------*/ …
Run Code Online (Sandbox Code Playgroud)

qt qt4 qt-creator

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

Qt:在Qt设计器中是否可以将信号连接到信号

我一直在读信号和插槽文档,它说你可以将信号连接到信号并触发连接到链中第二个信号的插槽.我无法在Qt设计器中找到一种方法,它只允许您将信号连接到插槽而不是信号连接到信号.此外,我无法在文档中找到它,但如果信号连接到信号,第一个信号携带QString参数,例如QString将沿着链传播.

谢谢!

qt signals qt4 qt-designer

6
推荐指数
1
解决办法
1711
查看次数

在ruby中,方法和函数之间存在区别

可能重复:
Ruby函数与方法

我只是阅读一些ruby文档,似乎以可互换的方式使用术语函数和方法,我想知道是否有任何区别?

我正在看的文档将此称为函数:

def saysomething()
  puts "Hello"
end

saysomething
Run Code Online (Sandbox Code Playgroud)

这个方法:

def multiply(val1, val2 )
  result = val1 * val2
  puts result
end
Run Code Online (Sandbox Code Playgroud)

这可能是一种语义,但我想检查

JT

ruby methods function

6
推荐指数
1
解决办法
4907
查看次数

将异常体存储在变量中

有没有办法执行try语句并将错误体返回为变量?

var = ''
try:
    error generating code
except:
    var = exception_body
Run Code Online (Sandbox Code Playgroud)

python exception try-catch

6
推荐指数
1
解决办法
4498
查看次数

如何使用QGroupBox代替QButtonGroup

我正在试图找出如何使用QGroupBox小部件代替QButtonGroup小部件,因为qt docs(下面的链接)'强烈建议不要使用它'.

https://doc.qt.io/archives/qt-4.7/q3buttongroup.html

QButtonGroup有一个方便的方法调用QtGui.QButtonGroup.checkedButton(),我正在寻找一种方法来查找QGroupBox中包含的已检查单选按钮.这是什么新的最佳做法?

qt button qt4.7 qgroupbox qbuttongroup

6
推荐指数
1
解决办法
2857
查看次数

我应该在哪里定义我在__init__中使用的函数

我正在编写一个在其__init__函数中使用某些函数的类,我不确定在哪里定义这些函数的最佳实践.我通常喜欢先定义,__init__但如果我需要在其中使用a函数/方法,__init__则需要先定义它.我不想在课外定义它,因为它在课外无用,但在我之前定义方法似乎很麻烦__init__.对此有哪些正常约定?

python function

6
推荐指数
1
解决办法
5459
查看次数

Pyside 删除窗口标志

我设计了一个 Pyside Qt 应用程序,我想QtCore.Qt.WindowStaysOnTopHint在我的主窗口中切换窗口标志。使用此代码设置此提示工作正常:

self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.show()
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用 Pyside 删除窗口标志。

有人知道怎么做这个吗?

flags pyside qmainwindow

6
推荐指数
1
解决办法
3535
查看次数

将文件拖到QtGui.QLineEdit()中以设置url文本

我已经QtGui.LineEdit()使用pySide Qt绑定在python脚本中制作了一个小部件,并且希望能够将文件从桌面拖动到QLineEdit中,以将QLineEdit中的文本设置为文件的路径。我已经完成QLineEdit.setDragEnabled(True)了启用拖放操作的操作,但是我迷失了如何从此处开始的机器人。有谁知道如何实现这一目标?

python drag-and-drop pyside

5
推荐指数
2
解决办法
4078
查看次数

沉默 - 明显 - 平等错误

我使用增强1.48在osx 10.8上使用gcc版本4.2.1构建som软件,我已经开始收到-Wparentheses-equality一些增强源的警告.

  equality comparison with extraneous parentheses
  [-Werror,-Wparentheses-equality]
        else if((state->type == syntax_element_long_set_rep)) 
Run Code Online (Sandbox Code Playgroud)

我会改变代码,但我不想修改库,我将如何使警告静音并使编译器继续?

c++ compiler-construction boost

5
推荐指数
1
解决办法
4450
查看次数

python subprocess.popen 不尊重 LD_LIBRARY_PATH

我正在尝试使用 python 脚本中的以下代码从 python 生成一个子进程:

p = subprocess.Popen(['./appleseed.cli', '--version'])
Run Code Online (Sandbox Code Playgroud)

问题是该命令依赖于共享库,因此出现以下错误

./appleseed.cli: error while loading shared libraries: libappleseed.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我在系统中有主要的二进制文件,PATH也有 lib ,LD_LIBRARY_PATH但这似乎没有帮助。这些设置在~/.bash_profile.

有趣的是,如果我在交互式 python 会话中运行相同的代码,它也可以工作,同时也将命令指定为appleseed.cli没有./工作。

我正在运行 ubuntu 和 python 2.7

更新:

这是我正在使用的完整 python 文件:

import argparse
import subprocess


def print_appleseed_version(args):

    p = subprocess.Popen(['./appleseed.cli', '--version'])


def main():
    # Parse the command line.
    parser = argparse.ArgumentParser()
    parser.add_argument("-t", "--tool-path", metavar="tool-path")
    args = parser.parse_args()
    
    print_appleseed_version(args)


if …
Run Code Online (Sandbox Code Playgroud)

python dll subprocess

5
推荐指数
0
解决办法
1937
查看次数