python中能不能实现点击一个按钮,浏览选择文件

python中能不能实现点击一个按钮,浏览选择文件,第1张

当然可以,我大Python可是无所不能的;

首先引入PyQt5第三方的库,然后就可以使用了

model_file_name,_ = QFileDialog.getOpenFileName(self.centralWidget, "open file dialog", "./","")

self.modelpathEdit.setText(model_file_name)

是不是很简单?

利用 Qt.CustomContextMenu 来创建右键菜单方法:

1、QWidget 和它的子类 contextMenuPolicy 的默认值是 Qt.DefaultContextMenu 的,

所以需要通过 setContextMenuPolicy(QtCore.Qt.CustomContextMenu) 重新来设置他的值;

2、在Qt设计师中, 可以直接修改 contextMenuPolicy 的值为 CustomContextMenu 并且写入到UI文件中,用Qt设计师可以不用 setContextMenuPolicy 方法来设置。

3、CustomContextMenu 它所发出的是一个 customContextMenuRequested 信号 (signal) 如下:

void customContextMenuRequested (const QPoint&)

这个信号是QWidget唯一与右键菜单有关的信号(也是自有的唯一信号), 同时也是很容易被忽略的信号(signal)

注: 文档中QWidget方法和属性巨量多, 就可以轻松自定义想要的右键菜单了,手编写槽(slot)。

def myListWidgetContext(self, point):

popMenu = QtGui.QMenu()

popMenu.addAction(QtGui.QAction(u'添加', self))

popMenu.addAction(QtGui.QAction(u'删除', self))

popMenu.addAction(QtGui.QAction(u'修改', self))

popMenu.exec_(QtGui.QCursor.pos())

4、接着就是连接槽。

5、添加成功。

1 定义一个按钮

QPushButton * pBtn = new QPushButton()

2 链接信号与曹

connect(pBtn, SIGNAL(clicked()), this, SLOT(OnBtnClicked()))

3 按钮添加到单元格内

table->setCellWidget(0,0,pBtn)//如果点击按钮出现崩溃现象,就添加QTableWidgetItem 到按钮的那个单元格

4 实现按钮的事件

void myPic::OnBtnClicked(void) { QPushButton * senderObj=qobject_cast<QPushButton *>(sender()) if(senderObj == 0) { return } QModelIndex index =table->indexAt(QPoint(senderObj->frameGeometry().x(),senderObj->frameGeometry().y())) int row=index.row() qDebug()<<"row:"<<row}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11829349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存