Qt 콤보 박스를 푸시 버튼과 그림을 보여주는 위젯과 연결하는 방법은 무엇입니까?

Rukass

방금 Qt를 배우기 시작했고 사진 이름 (콤보 박스에서)을 선택한 다음 푸시 버튼을 클릭하면 선택한 사진이 widget (?)에 나타날 수있는 간단한 프로그램을 만들고 싶습니다 (가능한 경우 동일한 창에). . 다음과 같이 표시되어야합니다.

지금까지 제가 직면 한 가장 큰 문제는 이러한 모든 개체를 연결하는 것입니다. 제대로 작동하도록 만들 수 없습니다.

또한 위젯에 사진을 업로드하려고했지만 전체 크기로만 나타나고 내 프로그램은 사진이되고 다른 것은 없습니다.

편집하다:

나는 그것을 작동하도록 노력하고 있지만 그것을 달성 할 수 없습니다 .. 그것은 내 코드입니다.

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_comboBox_currentIndexChanged(int index)
{
    connect(ui->comboBox, SIGNAL(currentIndexChanged(int index)), this, SLOT(on_pushButton_clicked(int index)));
}
void MainWindow::choiceChanged(int index)
{

    switch (index) {
    case 0:
    firstPicture();
    break;
    case 1:
    secondPicture();
    break;
    case 2:
    thirdPicture();
    break;
    }
}

void MainWindow::on_pushButton_clicked(int index)
{
    connect(ui->pushButton, SIGNAL(on_pushButton_clicked(int)), this, SLOT(choiceChanged(int)));
}
void MainWindow::firstPicture(){
    QPixmap image("C:/Documents/Aaaa.png");
    ui->label->setPixmap(image);
}
void MainWindow::secondPicture(){
    QPixmap image("C:/Documents/Bbbb.png");
    ui->label->setPixmap(image);
}
void MainWindow::thirdPicture(){
    QPixmap image("C:/Documents/Cccc.png");
    ui->label->setPixmap(image);
}

main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{

    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

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 slots: 
    void on_pushButton_clicked(int index);

    void choiceChanged(int index);

    void on_comboBox_currentIndexChanged(int index);

    void firstPicture();

    void secondPicture();

    void thirdPicture();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
루카 안 지오 로니

레이아웃은 괜찮지 만 QLabel을 사용하여 이미지를 표시하는 것이 좋습니다.

그래서 내가 할 일입니다.

  1. 컨트롤러 클래스에서 현재 콤보 상자 선택 (정수 또는 문자열)을 저장할 속성을 만듭니다.
  2. 콤보 박스의 신호에 슬롯을 연결합니다. (쉬운 방법 : 편집기에서 콤보 상자를 마우스 오른쪽 버튼으로 클릭하고 "슬롯으로 이동"을 선택한 다음 currentIndexChanged(int index)또는 문자열 변형 을 선택합니다 . 설명서 참조 )
  3. 슬롯에서 콤보 박스의 값을 변경할 때마다 현재 상태를 저장할 변수도 변경하도록 변수를 업데이트하십시오.
  4. 누름 버튼 용 슬롯을 생성합니다 (콤보 박스와 동일합니다. 신호 사용 clicked()). 슬롯에서 QLabel에 그림을 삽입하는 것보다.
  5. 그림을 설정하려면 다음을 수행하십시오.

    QPixmap image("/path/to/image/chosen/image.jpg"); //choose the path accordingly to the variable stored that mirrors the state of the combobox.
    ui->imageLabel->setPixmap(image); //change imageLabel to the name of your label.
    
  6. 당신은 갈 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

qt 푸시 버튼으로 동적으로 일부 위젯을 포함하는 그룹 상자를 추가하는 방법은 무엇입니까?

분류에서Dev

푸시 버튼을 클릭하여 tablewidget에서 콤보 상자로 입력 데이터를 전달하는 방법은 무엇입니까?

분류에서Dev

콤보 박스 내에서 문자열과 SVG를 결합하는 방법은 무엇입니까?

분류에서Dev

콤보 박스에서 새 값과 이전 값을 비교하는 방법은 무엇입니까?

분류에서Dev

vb.net 콤보 박스에서 SQL Server 저장 프로 시저의 결과를 얻는 방법은 무엇입니까?

분류에서Dev

콤보 박스의 드롭 다운 버튼 정렬을 변경하는 방법은 무엇입니까?

분류에서Dev

SwiftUI에서 경과 한 시간을 보여주는 타이머를 만드는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 연결된 속성을 추가하는 방법은 무엇입니까?

분류에서Dev

버터 나이프를 사용하여 콤보 박스에 바인딩하는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 확장자가없는 파일 이름을 표시하는 방법은 무엇입니까?

분류에서Dev

php 함수를 html 버튼과 연결하는 방법은 무엇입니까?

분류에서Dev

버튼을 탭한 후 푸시 알림을 보내는 방법은 무엇입니까?

분류에서Dev

라디오 버튼을 클릭하여 프로그래밍 방식으로 생성 된 콤보 상자를 표시 / 숨기기 위해 Dojo를 사용하는 방법은 무엇입니까?

분류에서Dev

푸시 알림을 보내기 위해 웹 사이트와 함께 FCM 앱 서버를 설정하는 방법은 무엇입니까?

분류에서Dev

자바에서 드롭 다운 목록과 같은 편집 가능한 콤보 박스를 사용하는 방법은 무엇입니까?

분류에서Dev

콤보 박스 위젯에서 선택 (기호)을 (전역) 변수로 정의하는 방법은 무엇입니까?

분류에서Dev

MSTest를 보고서 포털과 연결하는 방법은 무엇입니까?

분류에서Dev

콤보 박스에 참조를 전달하는 방법은 무엇입니까?

분류에서Dev

체크 박스 입력을 사용하여 결과를 필터링하는 방법은 무엇입니까?

분류에서Dev

체크 박스 입력을 사용하여 결과를 필터링하는 방법은 무엇입니까?

분류에서Dev

여러 요청을 보낼 때 결과를 요청에 일치시키는 방법은 무엇입니까?

분류에서Dev

CLD 문자를 보여주는 상자 그림으로 Tukey 테스트 결과를 표시하는 방법

분류에서Dev

Swift 4.0에서 Quickblox를 사용하여 프로그래밍 방식으로 푸시 알림을 보내는 방법은 무엇입니까?

분류에서Dev

위젯 버튼 가시성을 설정하는 방법은 무엇입니까?

분류에서Dev

내 jsp 웹 응용 프로그램에 페이스 북과 같은 "푸시 알림"을 만드는 방법은 무엇입니까?

분류에서Dev

jquery appendTo ()를 사용하여 목록 항목을 버튼과 결합하는 방법은 무엇입니까?

분류에서Dev

C #에서 콤보 박스를 버튼처럼 작동시키는 방법

분류에서Dev

네트워킹을위한 크로스 오버 와이어를 올바르게 보여주는 그림은 무엇입니까?

분류에서Dev

내 코드가 온라인 데이터베이스의 결과를 표시하지 않는 이유는 무엇입니까? ListView의 항목을 결과를 보여주는 새 페이지로 클릭 할 수있게 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    qt 푸시 버튼으로 동적으로 일부 위젯을 포함하는 그룹 상자를 추가하는 방법은 무엇입니까?

  2. 2

    푸시 버튼을 클릭하여 tablewidget에서 콤보 상자로 입력 데이터를 전달하는 방법은 무엇입니까?

  3. 3

    콤보 박스 내에서 문자열과 SVG를 결합하는 방법은 무엇입니까?

  4. 4

    콤보 박스에서 새 값과 이전 값을 비교하는 방법은 무엇입니까?

  5. 5

    vb.net 콤보 박스에서 SQL Server 저장 프로 시저의 결과를 얻는 방법은 무엇입니까?

  6. 6

    콤보 박스의 드롭 다운 버튼 정렬을 변경하는 방법은 무엇입니까?

  7. 7

    SwiftUI에서 경과 한 시간을 보여주는 타이머를 만드는 방법은 무엇입니까?

  8. 8

    콤보 박스에 연결된 속성을 추가하는 방법은 무엇입니까?

  9. 9

    버터 나이프를 사용하여 콤보 박스에 바인딩하는 방법은 무엇입니까?

  10. 10

    콤보 박스에 확장자가없는 파일 이름을 표시하는 방법은 무엇입니까?

  11. 11

    php 함수를 html 버튼과 연결하는 방법은 무엇입니까?

  12. 12

    버튼을 탭한 후 푸시 알림을 보내는 방법은 무엇입니까?

  13. 13

    라디오 버튼을 클릭하여 프로그래밍 방식으로 생성 된 콤보 상자를 표시 / 숨기기 위해 Dojo를 사용하는 방법은 무엇입니까?

  14. 14

    푸시 알림을 보내기 위해 웹 사이트와 함께 FCM 앱 서버를 설정하는 방법은 무엇입니까?

  15. 15

    자바에서 드롭 다운 목록과 같은 편집 가능한 콤보 박스를 사용하는 방법은 무엇입니까?

  16. 16

    콤보 박스 위젯에서 선택 (기호)을 (전역) 변수로 정의하는 방법은 무엇입니까?

  17. 17

    MSTest를 보고서 포털과 연결하는 방법은 무엇입니까?

  18. 18

    콤보 박스에 참조를 전달하는 방법은 무엇입니까?

  19. 19

    체크 박스 입력을 사용하여 결과를 필터링하는 방법은 무엇입니까?

  20. 20

    체크 박스 입력을 사용하여 결과를 필터링하는 방법은 무엇입니까?

  21. 21

    여러 요청을 보낼 때 결과를 요청에 일치시키는 방법은 무엇입니까?

  22. 22

    CLD 문자를 보여주는 상자 그림으로 Tukey 테스트 결과를 표시하는 방법

  23. 23

    Swift 4.0에서 Quickblox를 사용하여 프로그래밍 방식으로 푸시 알림을 보내는 방법은 무엇입니까?

  24. 24

    위젯 버튼 가시성을 설정하는 방법은 무엇입니까?

  25. 25

    내 jsp 웹 응용 프로그램에 페이스 북과 같은 "푸시 알림"을 만드는 방법은 무엇입니까?

  26. 26

    jquery appendTo ()를 사용하여 목록 항목을 버튼과 결합하는 방법은 무엇입니까?

  27. 27

    C #에서 콤보 박스를 버튼처럼 작동시키는 방법

  28. 28

    네트워킹을위한 크로스 오버 와이어를 올바르게 보여주는 그림은 무엇입니까?

  29. 29

    내 코드가 온라인 데이터베이스의 결과를 표시하지 않는 이유는 무엇입니까? ListView의 항목을 결과를 보여주는 새 페이지로 클릭 할 수있게 만드는 방법은 무엇입니까?

뜨겁다태그

보관