qt 设置QComboBox的值

QComboBox有三个值,“”“男”“女”,修改用户资料时需要界面上显示该用户原本的性别,假设在数据库中读出的某用户性别为“女”,请问该怎样把ComboBox的值设为“女”

qt

2个回答

设置对应索引就可以了

 setCurrentIndex(int)
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
QT中QComboBox显示指定的item

QT中QComboBox将一个已存在item替换到当前显示,类似于手动选择某项

linux 下Qt QComboBox设置他的列表透明样式

![图片说明](https://img-ask.csdn.net/upload/201711/23/1511417922_254025.jpg) 我用ui->comboBox->view()->parentWidget()->setWindowOpacity(0.6);去设置,但是如果我再加载Qss,就不行了,Qss中我也没有设置过列表的样式,![图片说明](https://img-ask.csdn.net/upload/201711/23/1511418082_391050.jpg)

Qt QComboBox样式问题

![图片说明](https://img-ask.csdn.net/upload/201710/21/1508555042_673682.png)想实现类似QQ的ComboBox之间有间隔,但是试了一些方法发现解决不了 请问Qt能直接设置吗 还是通过其他方法实现的 比如通过自定义ComBobox 通过鼠标 点击事件 显示一个listView

QT QComboBox能不能往上展开

界面最底下的下拉框会被遮挡,所以想把QComboBox上拉。

QComboBox下拉选项重叠

QComboBox下拉选项为什么是重叠着的,若果setView的话 ,可以选项不重叠,但是setStyleSheet设置样式就不行了。 各位有知道怎么解决的吗????

QComboBox 中三级联动设置省市区

![图片说明](https://img-ask.csdn.net/upload/201603/10/1457586425_836607.png) QComboBox 中三级联动设置省市区 我有一个txt文件里有各省市区的数据如图 但是我怎么去提取这些数据呢

Qt中QSS,对于各个控件的设置,各个属性都代表什么意思?

Qt中QSS,对于各个控件的设置,各个属性都代表什么意思? 比如,设置QComboBox:down-arrow{...}。这个语句中,找了好久才找到down-arrow代表什么意思。。。 有没有系统的对各个控件属性的介绍?

QT combobox 点击选项的鼠标事件

QT combobox右键点击选项的时候 显示菜单而不是选择该选项应该怎么办,还有如果选项太多 只显示一部分 其他的一个箭头显示,点击箭头显示其他选项 该怎么办 求个思路

Qt combobox 下拉栏太长了怎么办???、

![图片说明](https://img-ask.csdn.net/upload/201901/27/1548562999_661125.png) 如图,下拉栏的显示太长了,整个屏幕都占满了,请问怎么设置这显示长度的设置能? 对了,麻烦不要说改成可编辑的模式。麻烦请以不可编辑的模式下,显示一定高度的下拉栏。

关于qcombobox的使用问题

请问如何根据下拉框选项中 ,不同的选项,做出不同的响应,就是比如有个exit,的选项,如何选中后就能退出程序, 信号和槽不知道 具体改怎么写 。connect(cb, SIGNAL( ??? ), &app, SLOT(quit())); 但是选中其他的选项,不做响应,或者说做出别的响应。 我用activated和currentIndexChanged,好像实现不了这个效果

QT 怎么获得tabelwidget中嵌入的combobox被点击时的行号?

如题 while(i<10) { QComboBox *combobox=new QCombobox(); combobox->addItem("1"); combobox->addItem("2"); ui->tabelwidget->setItem(i,j++,new QTabelWidgetItem(QString ID)); ...... ...... ui->tabelwidget->setItem(i,j++,new QTabelWidgetItem(combobox)); } 代码如上,怎样才能获取到combobox被点击时的当前行号, 菜比一枚,跪求指点,谢过!

继承 QtDesigner UI(采用gridlayout)后布局变了,求解?

PyQt5继承类窗口与QtDesigner窗口不一致, 未设置Gridlayout前是OK的,不知道是哪里的问题? **QtDesigner 编辑的窗口和代码** ![图片说明](https://img-ask.csdn.net/upload/201810/10/1539140863_201068.jpg) from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(708, 458) self.verticalLayout_2 = QtWidgets.QVBoxLayout(Form) self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.label = QtWidgets.QLabel(Form) self.label.setObjectName("label") self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) self.lineEdit = QtWidgets.QLineEdit(Form) self.lineEdit.setObjectName("lineEdit") self.gridLayout_2.addWidget(self.lineEdit, 0, 1, 1, 3) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setObjectName("pushButton") self.gridLayout_2.addWidget(self.pushButton, 0, 4, 1, 1) self.label_2 = QtWidgets.QLabel(Form) self.label_2.setObjectName("label_2") self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1) self.comboBox = QtWidgets.QComboBox(Form) self.comboBox.setObjectName("comboBox") self.gridLayout_2.addWidget(self.comboBox, 1, 1, 1, 1) self.label_4 = QtWidgets.QLabel(Form) self.label_4.setObjectName("label_4") self.gridLayout_2.addWidget(self.label_4, 1, 2, 1, 1) self.lineEdit_2 = QtWidgets.QLineEdit(Form) self.lineEdit_2.setObjectName("lineEdit_2") self.gridLayout_2.addWidget(self.lineEdit_2, 1, 3, 1, 1) self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setObjectName("pushButton_2") self.gridLayout_2.addWidget(self.pushButton_2, 1, 4, 1, 1) self.verticalLayout_2.addLayout(self.gridLayout_2) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.label_3 = QtWidgets.QLabel(Form) self.label_3.setObjectName("label_3") self.verticalLayout.addWidget(self.label_3) self.tableView = QtWidgets.QTableView(Form) self.tableView.setObjectName("tableView") self.verticalLayout.addWidget(self.tableView) self.verticalLayout_2.addLayout(self.verticalLayout) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "项目信息检索")) self.label.setText(_translate("Form", "文件路径")) self.pushButton.setText(_translate("Form", "选择")) self.label_2.setText(_translate("Form", "检索Item")) self.label_4.setText(_translate("Form", "检索内容")) self.pushButton_2.setText(_translate("Form", "开始")) self.label_3.setText(_translate("Form", "检索结果")) if __name__ == "__main__": import sys app=QtWidgets.QApplication(sys.argv) widget=QtWidgets.QWidget() ui=Ui_Form() ui.setupUi(widget) widget.show() sys.exit(app.exec_()) ---------------------------------------------------------------------------- **继承类窗口代码** ![图片说明](https://img-ask.csdn.net/upload/201810/10/1539140969_990909.jpg) import sys from PyQt5.QtWidgets import QMainWindow, QApplication from PyQt5 import QtCore, QtGui,QtWidgets from CatchProjectInfo1 import Ui_Form class MainWindow(QMainWindow, Ui_Form): """ Class documentation goes here. """ def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.comboBox.clear() # 清空items self.comboBox.addItem('请选择') if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) main = QtWidgets.QMainWindow() content = MainWindow() content.setupUi(main) main.show() sys.exit(app.exec_())

下拉框的使用细节 popup

为什么上次使用一个下拉框 popup 的时候,在自定义的adapter中使用getView来添加数据, 但是使用自定义的testView控件一直报错,报错的大概意思是布局错误,后面同事帮忙解决了 将自己定义的testview 改为 getview方法中的 converview 带缓存的那个就可以了呢 同事也搞不清原因

怎么防止qt窗口卡死??

``` # -*- coding:utf-8 -*- import sys import time from PyQt5.QtWidgets import QApplication,QWidget,QLabel,QPushButton,QVBoxLayout,QHBoxLayout,QComboBox,QRadioButton,QLineEdit from PyQt5.QtGui import QMovie,QPixmap from PyQt5.QtCore import Qt,QBuffer,QByteArray,QIODevice,pyqtSignal,QThread,QEventLoop,QSize,QTimer class win(QWidget): def __init__(self,parent=None): super(win,self).__init__(parent) self.resize(500,500) self.child = t() self.child.hello.connect(self.hi) self.child.start() def hi(self,msg): print(111) class t(QThread): hello = pyqtSignal(str) def __init__(self,parent=None): super(t,self).__init__(parent) def __del__(self): self.wait() def run(self): app.processEvents() self.loop = QEventLoop() self.lbl = QLabel() self.lbl.resize(300,300) self.lbl.show() self.t1 = t1() self.t1.hell.connect(self.qu) self.t1.start() self.loop.exec_() def qu(self,msg): if msg: self.lbl.quit() self.loop.quit() class t1(QThread): hell = pyqtSignal(str) def __init__(self,parent=None): super(t1,self).__init__(parent) def run(self): time.sleep(20) self.hell.emit("111") if __name__=="__main__": app = QApplication(sys.argv) win=win() win.show() sys.exit(app.exec_()) ``` 是QEventLoop用错了吗???

在arm上利用Qt采集视频图像,能够保存采集的视频图像

我使用的是usb免驱摄像头,现在已经实现实时显示图像,并能够拍照保存,但无法实现保存视频。 以下是本程序的相关代码 # main.cpp ``` #include "camera.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); camera w; w.show(); return a.exec(); } ``` # camera.cpp ``` #include "camera.h" #include "ui_camera.h" #include <QDate> #include <QTime> void yuv422to420p(char *yuv422buf, char *yuv420pbuf, int width, int height) { char *src, *dest, *dest2; int i, j; src = yuv422buf; dest = yuv420pbuf; for (i = 0; i < width * height * 2; i++) { if (i % 2 != 0) { continue; } *dest++ = *(src + i); } src = yuv422buf; dest = yuv420pbuf + width * height; dest2 = dest + (width * height) / 4; for (i = 0; i < height; i += 2) { for (j = 1; j < width * 2; j += 4) { *dest++ = *(src + i * width * 2 + j); *dest2++ = *(src + i * width * 2 + j + 2); } } } /* yuv格式转换为rgb格式的算法处理函数 */ int convert_yuv_to_rgb_pixel(int y, int u, int v) { unsigned int pixel32 = 0; unsigned char *pixel = (unsigned char *)&pixel32; int r, g, b; r = y + (1.370705 * (v-128)); g = y - (0.698001 * (v-128)) - (0.337633 * (u-128)); b = y + (1.732446 * (u-128)); if(r > 255) r = 255; if(g > 255) g = 255; if(b > 255) b = 255; if(r < 0) r = 0; if(g < 0) g = 0; if(b < 0) b = 0; pixel[0] = r ; pixel[1] = g ; pixel[2] = b ; return pixel32; } /* yuv格式转换为rgb格式 */ int convert_yuv_to_rgb_buffer(unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height) { unsigned int in, out = 0; unsigned int pixel_16; unsigned char pixel_24[3]; unsigned int pixel32; int y0, u, y1, v; for(in = 0; in < width * height * 2; in += 4) { pixel_16 = yuv[in + 3] << 24 | yuv[in + 2] << 16 | yuv[in + 1] << 8 | yuv[in + 0]; y0 = (pixel_16 & 0x000000ff); u = (pixel_16 & 0x0000ff00) >> 8; y1 = (pixel_16 & 0x00ff0000) >> 16; v = (pixel_16 & 0xff000000) >> 24; pixel32 = convert_yuv_to_rgb_pixel(y0, u, v); pixel_24[0] = (pixel32 & 0x000000ff); pixel_24[1] = (pixel32 & 0x0000ff00) >> 8; pixel_24[2] = (pixel32 & 0x00ff0000) >> 16; rgb[out++] = pixel_24[0]; rgb[out++] = pixel_24[1]; rgb[out++] = pixel_24[2]; pixel32 = convert_yuv_to_rgb_pixel(y1, u, v); pixel_24[0] = (pixel32 & 0x000000ff); pixel_24[1] = (pixel32 & 0x0000ff00) >> 8; pixel_24[2] = (pixel32 & 0x00ff0000) >> 16; rgb[out++] = pixel_24[0]; rgb[out++] = pixel_24[1]; rgb[out++] = pixel_24[2]; } return 0; } int camera::camera_init() { int ret=0,i=0,count=0; struct v4l2_capability cap; //视频设备的功能,对应命令VIDIOC_QUERYCAP struct v4l2_fmtdesc fmtdesc; //视频格式描述符类型 struct v4l2_format format; //帧的格式,如宽度,高度等,对应命令VIDIOC_G_FMT、VIDIOC_S_FMT等 struct v4l2_requestbuffers reqbuf; //向驱动申请帧缓冲请求,包含申请的个数,对应命令VIDIOC_REQBUFS struct v4l2_buffer buf; //驱动中的一帧图像缓存,对应命令VIDIOC_QUERYBUF fmtdesc.index = 0; fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; //传输流类型 ret = ::ioctl(fd, VIDIOC_G_FMT, &format); //'VIDIOC_G_FMT'——读取当前驱动的视频捕获格式 if(ret < 0){ perror("VIDIOC_G_FMT"); exit(1); } printf("width:%d\n", format.fmt.pix.width); printf("height:%d\n", format.fmt.pix.height); printf("pixelformat:%x\n", format.fmt.pix.pixelformat); printf("field:%x\n", format.fmt.pix.field); printf("bytesperline:%d\n", format.fmt.pix.bytesperline); printf("sizeimage:%d\n", format.fmt.pix.sizeimage); printf("colorspace:%d\n", format.fmt.pix.colorspace); format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; format.fmt.pix.width = 640; format.fmt.pix.height = 480; format.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV; ret = ::ioctl(fd, VIDIOC_S_FMT, &format); if(ret < 0){ fprintf(stderr, "Not support jepg"); perror("VIDIOC_S_FMT"); exit(1); } reqbuf.count = 3; reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; reqbuf.memory = V4L2_MEMORY_MMAP; ret = ::ioctl(fd, VIDIOC_REQBUFS, &reqbuf); if(ret < 0){ perror("VIDIOC_REQBUFS"); exit(1); } bufinf = (struct bufinfor *)calloc(reqbuf.count, sizeof(struct bufinfor)); if(!bufinf){ perror("calloc"); exit(1); } for(count = 0; count < reqbuf.count; count++){ buf.index = count; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; ret = ::ioctl(fd, VIDIOC_QUERYBUF, &buf); if(ret < 0){ perror("VIDIOC_REQBUFS"); exit(1); } bufinf[buf.index].length = buf.length; bufinf[buf.index].start = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf.m.offset); if(!(bufinf[buf.index].start)){ perror("mmap"); exit(1); } } for(i = 0; i < reqbuf.count; i++){ buf.index = i; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; ret = ::ioctl(fd, VIDIOC_QBUF, &buf); if(ret < 0){ perror("VIDIOC_QBUF"); exit(1); } } enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ret = ::ioctl(fd, VIDIOC_STREAMON, &type); if(ret < 0){ perror("VIDIOC_STREAMON"); exit(1); } return 0; } camera::camera(QWidget *parent) : QMainWindow(parent), ui(new Ui::camera) { char devname[32]; int i=0; int ret; struct v4l2_capability cap; ui->setupUi(this); while(i < 100) { sprintf(devname,"/dev/video%d",i++); fd = ::open(devname,O_RDWR); if(fd < 0) { continue; } ui->comboBox->addItem(QWidget::tr(devname)); ::close(fd); } } camera::~camera() { free(bufinf); ::close(fd); delete ui; } void camera::moveEvent(QMoveEvent *) { this->move(QPoint(0,0)); } void camera::resizeEvent(QResizeEvent *) { this->showMaximized(); } void camera::on_pushButton_2_clicked() { take_photo(); } static bool take = 0; void camera::show_() { int ret; unsigned char *rgb=new unsigned char [640 * 480 *3]; struct v4l2_buffer buf; fd_set readset; FD_ZERO(&readset); FD_SET(fd, &readset); ret = select(fd + 1, &readset, NULL, NULL, NULL); if(ret < 0){ perror("select"); exit(1); } buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; ret = ioctl(fd, VIDIOC_DQBUF, &buf); if(ret < 0){ perror("VIDIOC_DQBUF"); exit(1); } convert_yuv_to_rgb_buffer((unsigned char *)bufinf[buf.index].start,rgb,640,480); ret = ioctl(fd, VIDIOC_QBUF, &buf); if(ret < 0){ perror("VIDIOC_QBUF"); exit(1); } QImage *mage = new QImage(rgb,640,480,QImage::Format_RGB888); if (take == 1) { mage->save(tr("%1.jpg").arg("/mnt/Photo/Photo_2019.04.15/IMG" + QDate::currentDate().toString("yyyyMMdd") + QTime::currentTime().toString("hhmmss")),"JPG"); // mage->save(tr("%1.jpg").arg("/home/root/Photo/IMG" + QDate::currentDate().toString("yyyyMMdd") + QTime::currentTime().toString("hhmmss")),"JPG"); take = 0; } QImage resultimg=mage->scaled(ui->label->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation); ui->label->setPixmap(QPixmap::fromImage(resultimg)); delete mage; delete rgb; } void camera::take_photo() { take = 1; } void camera::on_comboBox_activated(const QString &arg1) { QString text=ui->comboBox->currentText(); QByteArray devtext=text.toLatin1(); char *devname=devtext.data(); int ret; struct v4l2_capability cap; fd = ::open(devname, O_RDWR); if(fd < 0) { perror("open error"); } camera::camera_init(); QTimer *timer; timer=new QTimer(); timer->setInterval(10); connect(timer,SIGNAL(timeout()),this,SLOT(show_())); timer->start(10); camera_flag=1; } void camera::on_pushButton_clicked() { close(); } ``` # camera.h ``` #ifndef CAMERA_H #define CAMERA_H #include <QMainWindow> #include <QTimer> #include <QImage> #include <QPixmap> #include <QDebug> #include <QStringList> #include <QByteArray> #include <QComboBox> extern "C"{ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <fcntl.h> #include <sys/ioctl.h> #include <string.h> #include <time.h> #include <sys/select.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> #include <jpeglib.h> #include <linux/videodev2.h> } namespace Ui { class camera; } struct bufinfor{ void *start; unsigned int length; }; class camera : public QMainWindow { Q_OBJECT public: explicit camera(QWidget *parent = 0); ~camera(); protected: void moveEvent(QMoveEvent *); void resizeEvent(QResizeEvent *); private slots: int camera_init(void); void on_pushButton_2_clicked(); void show_(); void take_photo(); void on_comboBox_activated(const QString &arg1); void on_pushButton_clicked(); private: Ui::camera *ui; int fd; int camera_flag; struct bufinfor *bufinf; }; #endif // CAMERA_H ``` usbcamera.pro ``` #------------------------------------------------- # # Project created by QtCreator 2019-08-02T09:08:26 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = usbcamera TEMPLATE = app LIBS += -L. -ljpeg SOURCES += main.cpp\ camera.cpp HEADERS += camera.h FORMS += camera.ui ``` 程序界面如下 ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565962170_711562.jpg) ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565962188_747692.jpg) 求助大神该怎么保存拍摄的视频 非常感谢

我用编码方式在qt创建一个窗口,为什么除了窗口的标题显示正常外,其余地方窗口都没有显示?

我用编码方式在qt创建一个窗口,为什么除了窗口的标题显示正常外,其余地方窗口都没有显示?求指教! 代码:#ifndef CALENDER_H #define CALENDER_H #include <QDialog> #include <QDate> #include<QComboBox> #include<QLabel> #include<QTextBrowser> #include<QSpinBox> #include<QDate> #include<QTextLayout> #include<QHBoxLayout> #include<QVBoxLayout> #include<QDateTimeEdit> #include<QTextCursor> #include<QTextTableFormat> #include<QVector> #include<QTextLength> #include<QColor> #include<QTextTable> #include<QTextFrame> #include<QTextFrameFormat> #include<QTextCharFormat> #include<QFont> #include<QTextTableCell> #include<QString> QT_BEGIN_NAMESPACE class QTextBrowser; QT_END_NAMESPACE class Calender : public QDialog { Q_OBJECT public: explicit Calender(QWidget *parent = 0); ~Calender(); QTextCharFormat getBoldFormat() const; public slots: void setFontSize(int size); void setMonth(int month); void setYear(QDate date); private: void insertCalendar(); int fontSize; QDate selectedDate; QTextBrowser *editor; QWidget *centralWidget; QLabel *dateLabel; QComboBox *monthCombo; QDateTimeEdit *yearEdit; QLabel *fontSizeLabel; QSpinBox *fontSizeSpinBox; QHBoxLayout *controlsLayout; QVBoxLayout *centralLayout; QTextTable *table; QTextFrame *frame; QTextFrameFormat frameFormat; QTextCharFormat format; QTextCharFormat boldFormat; QTextCharFormat highlightedFormat; QTextTableCell cell; QTextCursor cellCursor; QVector<QTextLength> constraints; QTextTableFormat tableFormat; QTextCursor cursor; }; #endif // CALENDER_H #include "calender.h" #include <QtWidgets> #include<QComboBox> #include<QLabel> #include<QTextBrowser> #include<QSpinBox> #include<QDate> #include<QTextLayout> #include<QHBoxLayout> #include<QVBoxLayout> #include<QDateTimeEdit> #include<QTextCursor> #include<QTextTableFormat> #include<QVector> #include<QTextLength> #include<QColor> #include<QTextTable> #include<QTextFrame> #include<QTextFrameFormat> #include<QTextCharFormat> #include<QFont> #include<QTextTableCell> #include<QString> Calender::Calender(QWidget *parent) :QDialog(parent) { selectedDate = QDate::currentDate(); fontSize = 10; QWidget *centralWidget = new QWidget; //! [0] //! [1] QLabel *dateLabel = new QLabel(tr("Date:")); QComboBox *monthCombo = new QComboBox; for (int month = 1; month <= 12; ++month) monthCombo->addItem(QDate::longMonthName(month)); QDateTimeEdit *yearEdit = new QDateTimeEdit; yearEdit->setDisplayFormat("yyyy"); yearEdit->setDateRange(QDate(1753, 1, 1), QDate(8000, 1, 1)); //! [1] monthCombo->setCurrentIndex(selectedDate.month() - 1); yearEdit->setDate(selectedDate); //! [2] QLabel *fontSizeLabel = new QLabel(tr("Font size:")); QSpinBox *fontSizeSpinBox = new QSpinBox; fontSizeSpinBox->setRange(1, 64); editor = new QTextBrowser; insertCalendar(); //! [2] //! [3] connect(monthCombo, SIGNAL(activated(int)), this, SLOT(setMonth(int))); connect(yearEdit, SIGNAL(dateChanged(QDate)), this, SLOT(setYear(QDate))); connect(fontSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setFontSize(int))); //! [3] fontSizeSpinBox->setValue(10); //! [4] QHBoxLayout *controlsLayout = new QHBoxLayout; controlsLayout->addWidget(dateLabel); controlsLayout->addWidget(monthCombo); controlsLayout->addWidget(yearEdit); controlsLayout->addSpacing(24); controlsLayout->addWidget(fontSizeLabel); controlsLayout->addWidget(fontSizeSpinBox); controlsLayout->addStretch(1); QVBoxLayout *centralLayout = new QVBoxLayout; centralLayout->addLayout(controlsLayout); centralLayout->addWidget(editor, 1); centralWidget->setLayout(centralLayout); //! [4] } //! [5] void Calender:: insertCalendar() { editor->clear(); QTextCursor cursor = editor->textCursor(); cursor.beginEditBlock(); QDate date(selectedDate.year(), selectedDate.month(), 1); //! [5] //! [6] QTextTableFormat tableFormat; tableFormat.setAlignment(Qt::AlignHCenter); tableFormat.setBackground(QColor("#e0e0e0")); tableFormat.setCellPadding(2); tableFormat.setCellSpacing(4); //! [6] //! [7] QVector<QTextLength> constraints; constraints << QTextLength(QTextLength::PercentageLength, 14) << QTextLength(QTextLength::PercentageLength, 14) << QTextLength(QTextLength::PercentageLength, 14) << QTextLength(QTextLength::PercentageLength, 14) << QTextLength(QTextLength::PercentageLength, 14) << QTextLength(QTextLength::PercentageLength, 14) << QTextLength(QTextLength::PercentageLength, 14); tableFormat.setColumnWidthConstraints(constraints); //! [7] //! [8] QTextTable *table = cursor.insertTable(1, 7, tableFormat); //! [8] //! [9] QTextFrame *frame = cursor.currentFrame(); QTextFrameFormat frameFormat = frame->frameFormat(); frameFormat.setBorder(1); frame->setFrameFormat(frameFormat); //! [9] //! [10] QTextCharFormat format = cursor.charFormat(); format.setFontPointSize(fontSize); QTextCharFormat boldFormat = format; boldFormat.setFontWeight(QFont::Bold); QTextCharFormat highlightedFormat = boldFormat; highlightedFormat.setBackground(Qt::yellow); //! [10] //! [11] for (int weekDay = 1; weekDay <= 7; ++weekDay) { QTextTableCell cell = table->cellAt(0, weekDay-1); //! [11] //! [12] QTextCursor cellCursor = cell.firstCursorPosition(); cellCursor.insertText(QString("%1").arg(QDate::longDayName(weekDay)), boldFormat); } //! [12] //! [13] table->insertRows(table->rows(), 1); //! [13] while (date.month() == selectedDate.month()) { int weekDay = date.dayOfWeek(); QTextTableCell cell = table->cellAt(table->rows()-1, weekDay-1); QTextCursor cellCursor = cell.firstCursorPosition(); if (date == QDate::currentDate()) cellCursor.insertText(QString("%1").arg(date.day()), highlightedFormat); else cellCursor.insertText(QString("%1").arg(date.day()), format); date = date.addDays(1); if (weekDay == 7 && date.month() == selectedDate.month()) table->insertRows(table->rows(), 1); } cursor.endEditBlock(); //! [14] setWindowTitle(tr("Calendar for %1 %2" ).arg(QDate::longMonthName(selectedDate.month()) ).arg(selectedDate.year())); } QTextCharFormat Calender:: getBoldFormat() const { return boldFormat; } //! [14] //! [15] void Calender::setFontSize(int size) { fontSize = size; insertCalendar(); } //! [15] //! [16] void Calender::setMonth(int month) { selectedDate = QDate(selectedDate.year(), month + 1, selectedDate.day()); insertCalendar(); } //! [16] //! [17] void Calender::setYear(QDate date) { selectedDate = QDate(date.year(), selectedDate.month(), selectedDate.day()); insertCalendar(); } //! [17] Calender::~Calender() { }

QWdget可以注册为qml类型使用吗?

最近学习QT的C++混合编程,想把QCombobox注册到qml使用,但是发现界面上根本看不到新注册的QCombobox,调试信息显示新注册的QCombobox的已经生成了,可是为什么看不到呢

请问,怎么根据查询的值选中下拉框中的选项?

描述: 页面有个select下拉框,option 的值有S,M,L三个。分别对应短期、中期、长期。 数据库中有一个类型,PT40,PT41,PT42分别对应S,M,L三个。 请问,如何根据数据库中的值,来选择下拉框中的选项?

怎么在这行代码里面添加背景图片

import sys from PyQt5 import QtWidgets, QtCore from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap, QPalette, QBrush from PyQt5.QtWidgets import QFileDialog from PyQt5.uic.properties import QtGui from aip import AipImageClassify class Ui_imageAI(object): def setupUi(self, imageAI): imageAI.setObjectName("imageAI") imageAI.resize(724, 489) # 设置窗体大小 #imageAI.setStyleSheet("#imageAI{border-image:url(D:\py_project\\a.png);}") # 图片显示控件 self.image = QtWidgets.QLabel(imageAI) self.image.setGeometry(QtCore.QRect(96, 140, 311, 301)) self.image.setStyleSheet("border-width: 1px;border-style: solid;border-color: rgb(0, 0, 0);") self.widget = QtWidgets.QWidget(imageAI) self.widget.setGeometry(QtCore.QRect(110, 50, 221, 31)) self.widget.setObjectName("widget") # 选择识别类型 self.label = QtWidgets.QLabel(self.widget) self.label.setObjectName("label") # 下拉控件,用于选择识别类型 self.comboBox = QtWidgets.QComboBox(self.widget) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") # 横向布局容器,包含 self.label self.comboBox self.HBoxLayout = QtWidgets.QHBoxLayout(self.widget) self.HBoxLayout.setContentsMargins(0, 0, 0, 0) self.HBoxLayout.setObjectName("HBoxLayout") self.HBoxLayout.addWidget(self.label) self.HBoxLayout.addWidget(self.comboBox) self.widget2 = QtWidgets.QWidget(imageAI) self.widget2.setGeometry(QtCore.QRect(96, 90, 318, 31)) self.widget2.setObjectName("widget2") # 选择要识别的图片 self.label2 = QtWidgets.QLabel(self.widget2) self.label2.setObjectName("label2") # 图片路径显示 self.lineEdit = QtWidgets.QLineEdit(self.widget2) self.lineEdit.setObjectName("lineEdit") # 图片路径选择Button self.pushButton = QtWidgets.QPushButton(self.widget2) self.pushButton.setObjectName("pushButton") # 横向布局容器,包含 self.label2 self.lineEdit self.pushButton self.HBoxLayout2 = QtWidgets.QHBoxLayout(self.widget2) self.HBoxLayout2.setContentsMargins(0, 0, 0, 0) self.HBoxLayout2.setObjectName("HBoxLayout2") self.HBoxLayout2.addWidget(self.label2) self.HBoxLayout2.addWidget(self.lineEdit) self.HBoxLayout2.addWidget(self.pushButton) self.widget3 = QtWidgets.QWidget(imageAI) self.widget3.setGeometry(QtCore.QRect(450, 50, 201, 401)) self.widget3.setObjectName("widget3") # 显示识别的结果 self.label3 = QtWidgets.QLabel(self.widget3) self.label3.setLayoutDirection(QtCore.Qt.LeftToRight) self.label3.setWordWrap(True) self.label3.setStyleSheet("border-width: 1px;border-style: solid;border-color: rgb(0, 0, 0);") self.label3.setObjectName("label3") # 复制Button self.pushButton2 = QtWidgets.QPushButton(self.widget3) self.pushButton2.setObjectName("pushButton2") # 垂直布局容器,包含 self.label3 self.pushButton2 self.VBoxLayout = QtWidgets.QVBoxLayout(self.widget3) self.VBoxLayout.setContentsMargins(0, 0, 0, 0) self.VBoxLayout.setObjectName("VBoxLayout") self.VBoxLayout.addWidget(self.label3) self.VBoxLayout.addWidget(self.pushButton2) self.retranslateUi(imageAI) QtCore.QMetaObject.connectSlotsByName(imageAI) def retranslateUi(self, imageAI): _translate = QtCore.QCoreApplication.translate imageAI.setWindowTitle(_translate("imageAI", "多媒体作业:图像识别工具 49117223柯博鑫 10417216任航")) self.label.setText(_translate("imageAI", "选择识别类型")) self.comboBox.setItemText(0, _translate("imageAI", "通用物体")) self.comboBox.setItemText(1, _translate("imageAI", "菜品")) self.comboBox.setItemText(2, _translate("imageAI", "车辆")) self.label2.setText(_translate("imageAI", "选择要识别的图片")) self.pushButton.setText(_translate("imageAI", "...")) self.pushButton.clicked.connect(self.openfile) self.label3.setText(_translate("imageAI", "显示识别结果")) self.pushButton2.setText(_translate("imageAI", "复制结果")) self.pushButton2.clicked.connect(self.copyText) def openfile(self): self.path = QFileDialog.getOpenFileName(self.widget2, "选择要识别的图片", "/", "Image Files(*.jpg *.png") print(self.path) if not self.path[0].strip(): pass else: self.lineEdit.setText(self.path[0]) pixmap = QPixmap(self.path[0]) scaledPixmap = pixmap.scaled(QtCore.QSize(311, 301), aspectRatioMode=Qt.KeepAspectRatio) self.image.setPixmap(scaledPixmap) self.image.show() self.imageDetect() pass def copyText(self): clipboard = QtWidgets.QApplication.clipboard() clipboard.setText(self.label3.text()) def imageDetect(self): ''' 图片识别主函数,通过检测 comboBox 中的值来进行相应的识别 :return: ''' # 通用物体识别 if self.comboBox.currentText() == "通用物体": AI = AipImageClassify() result = AI.get_general(self.path[0]) text = '' for key, value in result[0].items(): text = text + str(key) + ':' + str(value) + '\n' text = text + '\n' self.label3.setText(text) # 菜品识别 elif self.comboBox.currentText() == "菜品": AI = AipImageClassify() result = AI.get_dish(self.path[0]) text = '' for key, value in result[0].items(): text = text + str(key) + ':' + str(value) + '\n' text = text + '\n' self.label3.setText(text) elif self.comboBox.currentText() == "车辆": AI = AipImageClassify() result = AI.get_car(self.path[0]) text = '' for key, value in result[0].items(): text = text + str(key) + ':' + str(value) + '\n' text = text + '\n' self.label3.setText(text) class AipImageClassify(object): AppID = '17817582' API_Key = 'SGlyGbptyg7HYOMOueTlP9zd' Secret_Key = 'qh47Wo50sGVrO9jMHxC5omUNAOU6aCDh' client = AipImageClassify(AppID, API_Key, Secret_Key) def get_file_content(self, filePath): ''' 读取图片 :param filePath: 图片路径 :return: ''' with open(filePath, 'rb') as fp: return fp.read() def get_general(self, filePath): ''' 通用物体识别 :param filePath: 读取的图片的路径 :return: AI识别的结果 ''' image = self.get_file_content(filePath) return self.client.advancedGeneral(image)['result'] def get_dish(self, filePath): ''' 菜品识别 :param filePath: 读取的图片的路径 :return: AI识别的结果 ''' image = self.get_file_content(filePath) return self.client.dishDetect(image)['result'] def get_car(self, filePath): ''' 车辆识别 :param filePath: 读取的图片的路径 :return: AI识别的结果 ''' image = self.get_file_content(filePath) return self.client.carDetect(image)['result'] if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() Ui = Ui_imageAI() Ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

相关热词 c# 局部 截图 页面 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c# fir 滤波器 c# 和站 队列 c# txt 去空格 c#移除其他类事件 c# 自动截屏
立即提问