inflearn logo
강의

Course

Instructor

PySide6 GUI & EXE Program Development Lecture (PyQt5)

Integrate main UI features

[사제버튼]실행관련

339

pink321ryu

58 asked

0

안녕하세요.

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

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

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

 

python pyqt pyinstaller pyside pyside6

Answer 1

0

communityai8509

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

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

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

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

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

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

10회 기출유형 1-3번

0

0

0

노션 사용권한 불편합니다.

0

7

2

유형3

0

8

2

작업형 2 연습문제 섹션 3

0

6

2

dags_email_on_failure

0

6

1

11 기출문제 ipynb파일

0

11

2

작업형 3 유형

0

12

2

session이 점점 길어지면 어떻게 대처하나요?

0

12

1

11회 기출 유형(작업형1) 2번 정답

0

15

2

f1 score 질문

0

13

2

10회 작업형 2 인코딩 질의

0

9

2

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

0

380

2

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

0

185

1

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

0

329

1

보안 관련 문의있습니다.

0

396

2

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

0

418

1

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

0

1562

1

[Unknown property font-stretch]에러 문구

0

449

1

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

0

703

3

login.py 내부 코드 오

0

337

2

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

0

989

2

pyside6-uic.exe 실행

1

855

1

ModuleNotFoundError: No module named 'Pyside6'

1

2516

1

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

1

996

2