inflearn logo
강의

講義

知識共有

PySide6 GUI&EXEプログラム開発講義(PyQt5)

メインUI機能を連携する

[사제버튼]실행관련

335

pink321ryu

投稿した質問数 58

0

안녕하세요.

삭제버튼을 클릭하기 전에 키워드가 아닌 다른 곳에 마우스를 두고 삭제버튼을 클릭할 경우, delete_keyword()가 실행이 되면서 키워드가 삭제가 안되더라도 idx가 -1을 출력하다가 행수보다 적어지면 index 에러 문구가 나는데요.

이와 같이 키워드를 선택하지 않은 경우는 실행되지 않고,

키워드를 선택한 경우만 실행이 되도록 조건로직에 추가를 해주고 싶은데 어떻게 해야 할까요?

 

python pyqt pyinstaller pyside pyside6

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

류재안님, PyQt5를 사용하여 개발하시는 과정에서 발생하는 문제에 대해서 질문 주셨군요.

마우스를 다른 곳에 두고 삭제버튼을 클릭할 경우 함수가 실행되지 않게 하기 위해서는 현재 선택된 키워드의 유무를 확인하는 조건을 delete_keyword() 함수에 추가해야 합니다. 예를 들어, 리스트 위젯을 사용하고 계시다면, 선택된 아이템이 있는지 확인하는 메서드인 currentItem()이 None인지를 체크할 수 있습니다. 아래 예시 코드를 참고하시면 됩니다.

def delete_keyword(self):
    # 현재 선택된 아이템이 있는지 확인
    if self.list_widget.currentItem() is None:
        # 선택된 아이템 없음, 함수 실행하지 않음.
        return
    # 기존의 삭제 로직 수행...

list_widget는 여러분의 리스트 위젯의 실제 객체 이름으로 대체해야 합니다. 선택한 키워드가 없을 때는 함수를 더 이상 진행하지 않고 반환하므로, idx와 관련된 에러를 방지할 수 있습니다.

함수 작성시 이 점을 참고하여 조건 로직에 추가해보시길 바랍니다.

작업형 1 유형 부분

0

9

1

수강평 이벤트

0

16

2

작업형 1 (삭제예정, 구 버전)

0

28

2

강의노트는 어디있나요?

0

17

1

노션 학습 자료 권한 요청

0

15

1

수강기간 연장 문의드립니다.

0

20

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

22

3

part2강의 문의사항입니다.

0

19

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

27

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

파이썬 3.11.7버전 사용 중인데 가상환경 생성이 안 됩니다

0

367

2

서버쪽 part2 부분 은 언제쯤 나오나요??

0

180

1

윈도우창은 어떻게 바꾸나요.

0

323

1

보안 관련 문의있습니다.

0

386

2

[Front GUI 에 광고 배너 붙이기] 배너 여러개 연결하기

0

410

1

[.py 파일 exe파일로 만드는 방법]noconsole 관련

0

1549

1

[Unknown property font-stretch]에러 문구

0

442

1

[QT Designer사용하는 방법]실행파일 관련 문의

0

687

3

login.py 내부 코드 오

0

331

2

Pycharm에서는 Pyside가 설치가 안되나요?

0

977

2

pyside6-uic.exe 실행

1

842

1

ModuleNotFoundError: No module named 'Pyside6'

1

2490

1

QT Designer 사용하는 방법 강의에서 소스가없네요

1

991

2