Qt_14 - 8BitsCoding/RobotMentor GitHub Wiki

๋ชฉ์ฐจ


Directories Tab์—์„œ '+'๋ฒ„ํŠผ ํด๋ฆญ ์ฒ˜๋ฆฌ

์ด๋ฏธ์ง€

// .h
	void InsertFlagItem(const QString&, const QString&);
	void insertNewIncludeDirectory(const QString&);

private slots:
	void on_actionExport_triggered();
	void on_AddBtn_clicked();
	void on_RemoveBtn_clicked();
	void on_addincludeBtn_clicked();
// .cpp
void CMakeWidzard2::on_addincludeBtn_clicked()
{
	insertNewIncludeDirectory("<Path>");
}

void CMakeWidzard2::insertNewIncludeDirectory(const QString& dir)
{
	QListWidgetItem* newItem = new QListWidgetItem(dir);

	ui.includeList->addItem(newItem);
}

์ด๋ฏธ์ง€


์•„์ดํ…œ์„ ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์ˆ˜์ •๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

void CMakeWidzard2::insertNewIncludeDirectory(const QString& dir)
{
	QListWidgetItem* newItem = new QListWidgetItem(dir);
	newItem->setFlags(newItem->flags() | Qt::ItemIsEditable);

	ui.includeList->addItem(newItem);
}

์•„์ดํ…œ์˜ ๋‚ด์šฉ์ด ์—†์œผ๋ฉด ์ž๋™์‚ญ์ œ๋˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

์•„์ดํ…œ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ถˆ๋ ค์ง€๋Š” slot์ด ์žˆ๋Š”๋ฐ ๊ทธ slot์— ์•„์ดํ…œ์ด ๋น„๋ฉด ์ž๋™์‚ญ์ œ๋˜๋„๋ก ์ˆ˜์ •

์ด๋ฏธ์ง€

QListWidget์˜ ItemChanged๋ฅผ ๋งŒ๋“ ๋‹ค.

void CMakeWidzard2::on_includeList_itemChanged(QListWidgetItem* item)
{
	if (item->text().length() == 0) {
		ui.includeList->takeItem(ui.includeList->row(item));
	}
}

์—ญ์‹œ ๋ช…๋ช…๊ทœ์น™์— ์ฃผ์˜ํ•˜์ž on_ํด๋ž˜์Šค์ด๋ฆ„_itemChanged()


์ฐธ๊ณ _์ „๋ฐฉ ํด๋ž˜์Šค ์„ ์–ธํ•˜๊ธฐ ๋ฉ”ํฌ๋กœ

// .h
class QListWidgetItem;
// Or
QT_FORWARD_DECLARE_CLASS(QListWidgetItem);
โš ๏ธ **GitHub.com Fallback** โš ๏ธ