小编Rei*_*ica的帖子

c ++:交换地图地图

我有以下内容:

typedef std::map<int, std::map<std::string, std::string> > ComplexMap;
ComplexMap map_a;
ComplexMap map_b;
Run Code Online (Sandbox Code Playgroud)

我想将整个map_a交换为map_b.以下两个选项之间是否存在功能差异:

// 1

ComplexMap::iterator end = map_a.end;
for (ComplexMap::iterator it = map_a.begin(); it != end; ++it)
{
    mam_b[it->first].swap(it->second);
}

// 2

map_b.swap(map_a);
Run Code Online (Sandbox Code Playgroud)

c++ swap std

0
推荐指数
1
解决办法
70
查看次数

程序打开9个消息框,而我只想要1

当我的计时器达到秒数(10,20或30)时,我想要一个消息框出现.这可行,但不只是1个消息框,9出现!我不知道为什么?

    private void timer1_Tick(object sender, EventArgs e)
    {
        int hrs = sw.Elapsed.Hours, mins = sw.Elapsed.Minutes, secs = sw.Elapsed.Seconds;
        label5.Text = "";

        if (mins < 60)
            label5.Text += "0" + mins + ":";
        else
            label5.Text += mins + ":";

        if(secs < 60)
            label5.Text += secs;  

       else if(secs < 60)
            label5.Text += secs;

        if (comboBox1.Text == "10 seconden") // maximale tijd per beurt instellen.
            if (mins == 00 && secs == 10)
                MessageBox.Show("Je tijd is op!");

        if (comboBox1.Text == "20 seconden")
            if …
Run Code Online (Sandbox Code Playgroud)

c# messagebox

0
推荐指数
1
解决办法
76
查看次数

如何在Linux上的串口设备上设置非标准波特率?

在Linux上设置自定义波特率的方法有哪些?

这个问题的答案必须是在ioctl系统调用级别以上的用户级低级API(等等)级别.它至少应该在这些情况下有用:

  1. 编写使用串行端口的低级基于C的用户态代码,

  2. 编写抽象串口功能的库,

  3. 编写内核串口驱动程序.

linux serial-port tty

0
推荐指数
1
解决办法
6034
查看次数

PyQT5菜单不可见

执行这个小PyQT5脚本时,我看不到菜单; 它只是在ubuntu 14.04上显示一个空窗口(没有错误或警告).

from PyQt5 import QtWidgets

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(MainWindow,self).__init__()
        self.createUI()

    def doAction(self):
        print('action')

    def createUI(self):
        self.setWindowTitle('Test')
        menu   = self.menuBar().addMenu('File')
        action = menu.addAction('Action')
        action.triggered.connect(self.doAction)   


if __name__ == '__main__':

    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    window.setGeometry(400, 200, 200, 200)
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

qt menu qt5 pyqt5

0
推荐指数
1
解决办法
1052
查看次数

如何在Qt的主事件循环中使用std :: thread?

在这段代码中,Qt部分(fun1())总是崩溃.它写道:

terminate called without an active exception
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

应该怎么做?当我在main中调用Qt的东西时,我不使用线程它运行良好,但我需要调用另一个函数并使用线程(fun2()仅用于ilustration)我的代码在这里:

#include "../common/main_window.hpp"
#include <QtGui/QApplication>
#include <QtGui>

#include <thread>
#include <iostream>

int argc_;
char **argv_;

void fun1()
{
    QApplication a(argc_,argv_);
    MainWindow w;
    w.show();
    a.exec();
}

void fun2()
{
    std::cout << "Print something" << std::endl;
}

int main(int argc, char **argv)
{
    //argc_ = malloc((1)*sizeof(char*));
    argc_= argc;
    argv_= argv;

    std::thread first(fun1);
    std::thread second(fun2);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ qt multithreading c++11

0
推荐指数
1
解决办法
2378
查看次数

按住鼠标按钮时如何绘图?

我正在尝试创建一个简单的绘画应用程序 - 它只是应该在您单击并拖动光标时进行绘制(就像“画图”一样)。我知道我必须使用QPainter,但我该如何处理呢?怎么做?任何帮助将非常感激。我尝试通过互联网潜伏,但没有找到太多信息(我通过启动应用程序的代码绘制线条等,它就在这里,但我找不到用户绘制某些内容的示例)。

c++ qt

0
推荐指数
1
解决办法
2728
查看次数

Qt线程ID等于MainWindows?(moveToThread)

现在我想创建一个线程并将我的类放入"AVC_file"inatance.

但是当我在textBroswer中打印currentThreadId时,我发现MainWindows的threadID与我创建的线程相同.显示下面的坑.

Framework::Framework(QWidget * parent) : QMainWindow(parent)
{
  ui.setupUi(this);

  int threadID = (int)QThread::currentThreadId();
  ui.textBrowser->append("Main Tread ID : " + QString::number(threadID));
}
Run Code Online (Sandbox Code Playgroud)
void Framework::on_OpenAVCFile_clicked()
{
    QString filePath = QFileDialog::getOpenFileName(
        this, tr("Open File"), "C:\\", "AVC File (*.avc)"
    );


    if (!filePath.isEmpty())
    {
        QMessageBox::information(this, tr("File Name"), filePath);
    }

    QFile file(filePath);
    if (!file.open(QIODevice::ReadOnly))
    {
        QMessageBox::information(0, "info", file.errorString());
    }
    else {
        QThread *thread = new QThread(this);
        int threadID = (int)thread->currentThreadId();
        ui.textBrowser->append("Second Tread ID : " + QString::number(threadID) + "\n");
        AVC_File *AVC_file = new AVC_File();

        AVC_file->moveToThread(thread);
        connect(AVC_file, …
Run Code Online (Sandbox Code Playgroud)

qt multithreading

0
推荐指数
1
解决办法
834
查看次数

切换位,但不切换回来?

我正在搞乱一些代码并决定尝试在文件中切换一些位,然后将它们切换回来获取原始文件.不知何故,它改变了位,但不会改变它们.

这是我有的:

魔术发生在我打开文件并进入rByte [0]和rByte [1].

unsigned char rByte[] = {0, 0};

int isBitSet(unsigned char byte, int bytePosition){

    unsigned char mask[] = {128, 64, 32, 16, 8, 4, 2, 1};
    return ( (byte & mask[bytePosition]) != 0 );
}

unsigned char setBit(unsigned char byte, int pos) {
    byte |= (0x01 << pos);
    return byte;
}

unsigned char clearBit(unsigned char byte, int pos){
    byte &= ~(0x01 << pos);
    return byte;
}

/* DO NOT TOUCH */

void switchBits (unsigned char byte1, unsigned …
Run Code Online (Sandbox Code Playgroud)

c bit switching

0
推荐指数
1
解决办法
98
查看次数

如何在不使用循环,递归或goto语句的情况下打印一系列数值?

我从互联网上找到了这个解决方案,但我无法理解.

#include <stdio.h>
#include <stdlib.h>

int n = 0;

void first() {
    void* x;
    printf("%d\n", ++n);
    if (n >= 100) {
        exit(0);
    }   
    *((char**) (&x + 4)) -= 5;
}

int main() {
    first();
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

本声明的目的和机制是*((char**) (&x + 4)) -= 5;什么?

还有其他方法不那么复杂吗?

c algorithm pointers

0
推荐指数
1
解决办法
128
查看次数

自定义派生的std :: exception类的'what'函数返回神秘的废话

我有一个自定义的异常类,派生自std::exception:

CameraControlException.h:

#ifndef CAMERACONTROLEXCEPTION_H
#define CAMERACONTROLEXCEPTION_H

#include <QString>
#include <exception>
#include "ProxOnyx/ProxOnyxUsb1_3M.h"

class CameraControlException : public std::exception
{
    public:
        explicit CameraControlException(QString statusText, int errorNumber);
        virtual const char *what() const noexcept;

    private:
        QString errorMessage;
        int errorNumber;
};

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

CameraControlException.cpp:

#include "CameraControlException.h"
#include <iostream>

CameraControlException::CameraControlException(QString statusText, int errorNumber) :
    errorMessage(QString("Status: ").append(statusText)),
    errorNumber(errorNumber)
{
    this->errorMessage.append("\nSome text in new line");
}

const char *CameraControlException::what() const noexcept {
    // Output the message like return them:
        std::cout << "this->errorMessage.toLatin1().data(): " …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance qt exception std

0
推荐指数
1
解决办法
70
查看次数

标签 统计

qt ×5

c++ ×4

c ×2

multithreading ×2

std ×2

algorithm ×1

bit ×1

c# ×1

c++11 ×1

exception ×1

inheritance ×1

linux ×1

menu ×1

messagebox ×1

pointers ×1

pyqt5 ×1

qt5 ×1

serial-port ×1

swap ×1

switching ×1

tty ×1