这是GUI的快照.我想通过单击QMenu对象帮助来执行简单的操作.该QMenu对象没有任何子菜单.
你能告诉我如何只在QMenu点击时执行操作这是我尝试过的,但我得到了一个空输出.
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDebug>
#include <QSignalMapper>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
void createActions();
QSignalMapper *pSignalMapper;
private slots:
void help();
};
#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
createActions();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::createActions()
{
pSignalMapper = new …Run Code Online (Sandbox Code Playgroud) 可能重复: 用文件中的QString填充一些QTableWidgetItems
这是我在被卡住之前尝试过的...我已经使用Qt设计器插入了QTableWidget.
代码:mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
/*add stuff inside the table view*/
QString line = "hello";
for(int i=0; i<ui->tableWidget->rowCount(); i++)
{
for(int j=0; j<ui->tableWidget->columnCount(); j++)
{
QTableWidgetItem *pCell = ui->tableWidget->item(i, j);
if(!pCell)
{
pCell …Run Code Online (Sandbox Code Playgroud) 每当我的独立线程在特定.txt文件中遇到单词"alert1"时,我想显示一条错误消息.但是我在mythread.cpp文件中的monitorForAlerts()内部得到了上述错误.如果我将它放在dialog.cpp中,那么该行应该会执行.所以我想这是由于这个对象的非继承.你能告诉我如何解决给定代码的这个错误吗?
这是代码:dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QtCore>
#include "mythread.h"
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
public slots:
private:
Ui::Dialog *ui;
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
};
#endif // DIALOG_H
Run Code Online (Sandbox Code Playgroud)
mythread.h
#ifndef MYTHREAD_H
#define MYTHREAD_H
#include <QThread>
#include <QtCore>
#include <QDebug>
#include <QFile>
#include <Windows.h>
#include <QMessageBox>
#include <QTimer>
#define ALERTS_MESSAGE_STORAGE_PATH "E:\\QT1\\simpleGUIThread2\\simpleGUIThread2\\usbAlert.txt"
#define TIMER_VALUE 500
class MyThread : public QThread
{
Q_OBJECT
public: …Run Code Online (Sandbox Code Playgroud) 我正在使用Kivy开发应用程序.我正在使用Kivy ActionBar为我的应用程序创建菜单栏.
我想删除Kivy图标并将其他选项(文件/编辑)移到左侧.请找到我的代码片段.
menuAcBar = ActionBar(pos_hint={'top': 1.3})
menuAcView = ActionView()
menuAcBar.add_widget(menuAcView)
menuAcPrevious = ActionPrevious(with_previous=False)
menuAcView.add_widget(menuAcPrevious)
menuAcView.add_widget(ActionButton(text="File"))
menuAcView.add_widget(ActionButton(text="Edit"))
menuAcView.add_widget(ActionButton(text="Documents"))
menuAcView.add_widget(ActionButton(text="help"))
self.add_widget(menuAcBar)
Run Code Online (Sandbox Code Playgroud) 我收到错误,illegal cast: from 'int' to 'FIELDS'同时在这里初始化结构变量: -
SOCKET_LOG_DATA socket_log_data() : fields(0), socket_number(0) {}
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
typedef PACKED struct PACKED_SUFFIX
{
UINT16 loss_reason : 1;
UINT16 unused : 15;
} LOSS_REASON;
typedef union PACKED_SUFFIX
{
LOSS_REASON loss;
UINT16 all_fields;
} FIELDS;
typedef PACKED struct PACKED_SUFFIX SOCKET_LOG_DATA
{
FIELDS fields;
UINT16 socket_number;
// As per @Dietrich's & @crashmstrcomments:-
SOCKET_LOG_DATA() : fields{{0, 0}}, socket_number(0) {}
} SOCKET_LOG_DATA;
Run Code Online (Sandbox Code Playgroud)
给了很多错误: -
".filename.h", line 183: error (dplus:1207): syntax error near }
".filename.h", line 183: error …Run Code Online (Sandbox Code Playgroud) 我正在为Windows PC创建一个GUI.我想在PC上存储一系列图像.图像的名称是相同的.但我想用时间戳附加它们.那么,如何在Qt中使用时间戳保存图像?除此之外,保存的图像如下例所示:referenceImage <.date.> <.time.> jpg其中日期和时间对应于在Windows PC上保存图像的日期和时间.我也试过以下
在这里,我点击了一个按钮实现了这个: -
void MainWindow::on_generateImagePushButton_clicked()
{
QDate date = QDate::currentDate();
QString dateString = date.toString();
QString path = QString("E:\\QT1\\timeStampTrial\\goldenRefImg[%1].jpg").arg(dateString);
qDebug()<<"path: "<<path;
/*display current time*/
QTime time = QTime::currentTime();
QString timeString = time.toString();
QString path2 = QString("E:\\QT1\\timeStampTrial\\goldenRefImg[%1 %2].jpg").arg(dateString).arg(timeString);
qDebug()<<"path2: "<<path2;
/*converting from QString to char* */
QByteArray bA = path2.toLocal8Bit();
const char *c_charArray = bA.data();
/*saving image*/
IplImage *imgWithTimeStamp = cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,3);
cvSaveImage(c_charArray, imgWithTimeStamp);
}
Run Code Online (Sandbox Code Playgroud)
使用dateStamp保存图像,例如.goldenRefImg [Wed Feb 5 2014] .jpg当我使用string-path时.但是当我使用string-path2时,它不会像我期望的那样保存dateStamp和timeStamp,即goldenRefImg [Wed Feb 5 2014 10:47:32] .jpg但是显示路径和路径2的qDebug语句正确显示.应用输出:
Starting …Run Code Online (Sandbox Code Playgroud) qt ×4
arguments ×1
c++ ×1
casting ×1
datestamp ×1
insert ×1
kivy ×1
overloading ×1
python ×1
qaction ×1
qmenu ×1
qmessagebox ×1
qstring ×1
qtablewidget ×1
save-image ×1
timestamp ×1
unions ×1
vhdl ×1