kindred_1 2021-11-04 16:56 采纳率: 50%
浏览 57
已结题

Pyqt5 中QComboBox控件的currentIndexChanged无法正确重写

想重写currentIndexChanged函数,实现在输出选择的内容时同时输出控件在屏幕上的坐标。但尝试了很久还是没实现。请指点下应怎么搞?

from PyQt5.Qt import *
class banrd_combobox(QComboBox):
   # 如何实现对 brand_comboBox控件桌面坐标的输出?
    pass
class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('主页面')
        self.resize(500,500)
        self.setup_ui()
    def setup_ui(self):
        self.product_row_frame = QFrame(self)
        self.product_row_frame.setGeometry(QRect(0, 0, 500, 40))
        self.product_row_frame.setStyleSheet("QWidget:hover{"
                                             "background-color:rgb(0, 202, 202);}")
        self.brand_comboBox = banrd_combobox(self.product_row_frame)
        self.brand_comboBox.setGeometry(QRect(0,0,80,40))
        self.brand_comboBox.addItems(['乔丹','周杰伦','刘翔','泰森'])
        self.brand_comboBox.setCurrentIndex(-1)
        self.brand_comboBox.currentIndexChanged[str].connect(self.brand_comboBox_changed)
    def brand_comboBox_changed(self,x,y,name):
        print('brand_comboBox横坐标:',x)
        print('brand_comboBox纵坐标:',y)
        print(name)
if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    window = Window()

    window.show()

    sys.exit(app.exec_())



  • 写回答

2条回答 默认 最新

  • llc的足迹 2021-11-05 10:45
    关注
    
        def brand_comboBox_changed(self, index):
            print(index)
            print(self.brand_comboBox.geometry())  # 控件相对于主窗口的坐标
            print(self.geometry())  # 主窗口的屏幕坐标
    

    可以利用相对坐标计算出控件的屏幕坐标

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 赞助了问题酬金 11月5日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误