신호 및 슬롯에 대해 작업하고 있습니다. 여기 Qt C++ 용 신호 및 슬롯
는 mainwindow.h....
public slots:
void slotChangeName();
....
mainwindow.cpp이고; 만든 프로젝트, "project_created"글로벌 변수, 나는 "project_created"때 라벨에 프로젝트 디렉토리를 작성하려면 1로 업데이트됩니다
#include<globals.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
QObject::connect(project_created,SIGNAL(selectionChanged()),this,SLOT(slotChangeName()))
}
void MainWindow::slotChangeName()
{
ui->project_name->setText(project_directory);
}
이 업데이트되었습니다. 나는 무엇을해야합니까?
globals.h
#ifndef GLOBALS_H
#define GLOBALS_H
class QString;
extern int project_created;
extern QString project_directory;
#endif
globals.cpp
#include "globals.h"
#include <QString>
// ALL THE GLOBAL DEFINITIONS
int project_created = 0;
QString project_directory = "";
명 새로운 프로젝트에 클릭하면, 그들은 프로젝트 폴더를 만들 수 있습니다. 그 후 project_created가 1로 업데이트되었습니다. 프로젝트 이름 nnext를 노란색 폴더 아이콘에 쓰려고합니다.
를 사용할 수 있습니까? 동일한 project_directory에 대한 – Caleth
그들은 전역 변수입니다. 나는 그들을 전역 클래스에 정의하고 그들을 주 클래스에 포함 시켰습니다. Project_created가 int @Caleth입니다. – dizel
project_created가'QAbstractItemView *'입니까? 아니면 비슷한 포인터입니까? 현재 사용자가 무언가를 선택했을 때만 slotChangeName을 호출합니다. – Caleth