我在向Qt桌面应用程序中的内置菜单栏添加菜单项时遇到问题.我复制了QMainWindow类参考文档中提供的代码,用于创建一个非常简单的应用程序的菜单.不幸的是,它在代码运行时没有显示出来.我只是想在菜单栏中添加"文件"菜单.我正在运行Mac OSX 10.9.3和Qt Creator 5.3.1.
我的代码截图如下.我在mainwindow.cpp源代码中尝试了未注释和注释的代码.
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//myMenuBar = menuBar();
//fileMenu = myMenuBar -> addMenu(tr("&File"));
fileMenu = menuBar() -> addMenu(tr("&File"));
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
Run Code Online (Sandbox Code Playgroud)
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMenuBar>
#include <QMenu>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QMenuBar* myMenuBar;
QMenu* fileMenu;
};
#endif //MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)
main.cpp中 …
我希望有人可以解释Keras中的输入层和Tensorflow中的占位符之间的差异(如果有的话)?
我调查的越多,两者看起来越相似,但到目前为止,我不相信100%.
以下是我观察到的支持输入图层和tf占位符相同的说法:
1)从keras.Input()返回的张量可以像tf.Session的run方法的feed_dict中的占位符一样使用.下面是使用Keras的简单示例的一部分,它添加了两个张量(a和b)并将结果与第三个张量(c)连接起来:
model = create_graph()
con_cat = model.output[0]
ab_add = model.output[1]
# These values are used equivalently to tf.Placeholder() below
mdl_in_a = model.input[0]
mdl_in_b = model.input[1]
mdl_in_c = model.input[2]
sess = k.backend.get_session()
a_in = rand_array() # 2x2 numpy arrays
b_in = rand_array()
c_in = rand_array()
a_in = np.reshape( a_in, (1,2,2))
b_in = np.reshape( b_in, (1,2,2))
c_in = np.reshape( c_in, (1,2,2))
val_cat, val_add = sess.run([con_cat, ab_add],
feed_dict={ mdl_in_a: a_in, mdl_in_b: b_in, mdl_in_c: c_in})
Run Code Online (Sandbox Code Playgroud)
2)来自Tensorflow Contrib的关于Keras 输入层的文档在其参数描述中提到了占位符:
"sparse:一个布尔值,指定要创建的占位符是否稀疏"
以下是我观察到的支持输入图层和tf占位符不同的说法: …
在Jupyter Notebook中使用调试器时,我一直遇到问题,特别是以下命令:
from IPython.core.debugger import Tracer
Tracer()() #this one triggers the debugger
Run Code Online (Sandbox Code Playgroud)
每当我使用Tracer()()时,内联调试器就会按预期显示,但是一旦在字段中输入任何命令:n(ext),s(tep)等,我就会跳到该行:
finally:
# Reset our crash handler in place
sys.excepthook = old_excepthook
Run Code Online (Sandbox Code Playgroud)
这是问题和尝试调试的代码的图像(确切的代码无关,因为我能够在其他笔记本上重现该问题)。
我正在Mac上运行OSX El Capitan,并使用Anaconda for python 2.7。这是有关通过运行获得的当前设置的一些详细信息:
conda info --all (from root env)
Run Code Online (Sandbox Code Playgroud)
注意,我尝试了几种不同的调试选项:pdb,ipdb和Tracer(),但是每个选项都遇到了单独的问题。根据Stackoverflow问题(使用ipdb调试Jupyter中的Python代码),此时 Tracer()似乎是标准选项。
此外,我已经能够在运行Windows 7的Dell计算机上复制此问题。
任何帮助将不胜感激!
python ×2
c++ ×1
debugging ×1
ipdb ×1
ipython ×1
keras ×1
keras-layer ×1
macos ×1
qmainwindow ×1
qmenubar ×1
qt ×1
tensor ×1
tensorflow ×1