cf 16a Flag

#include <iostream>
#include <cstdio>
using namespace std;
int f[105][105];
int n,m;
char c;
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            cin>>c;
            f[i][j]=c-'0';
        }
    bool flag=true;
    for(int i=1;i<n;i++)
        if(f[i][0]==f[i-1][0])
        {
            flag=false;
            break;
        }
    if(flag)
    {
        for(int i=0;i<n;i++)
        {
            int tmp=f[i][0];
            for(int j=1;j<m;j++)
                if(f[i][j]!=tmp)
                {
                    flag=false;
                    break;
                }
            if(!flag)
                break;
        }
    }
    if(flag)
        printf("YES\n");
    else
        printf("NO\n");
}

def add_table_row(mainwindow, chn, trx, id, SendType, RemoteFlag, ExternFlag, length, data_hex, SID = -1, subFlag = "", time="-1", list_index = 0, CF_flag = 0): # print("CF_flag1:", CF_flag) print("list_index:", list_index) # #SID是10进制数字 #id是0X开头的16进制字符串 #获取新行的位置,table的行下标从0开始 if len(mainwindow.FilterIDList) == 0 or ( int(id, 16) in mainwindow.FilterIDList): time = get_now_time() #向data_hex后填充0,凑齐23个字符 # 将字符串分割成每两个字符一组 hex_list = data_hex.split() if len(hex_list[-1]) < 2: hex_list[-1] += "0" # 计算需要补充的组数 num_groups_to_add = 8 - len(hex_list) # 补充0到列表中 hex_list.extend(['00'] * num_groups_to_add) # 将列表重新组合成字符串,每组之间有一个空格 formatted_hex_str = ' '.join(hex_list) SID_str = hex(SID).upper()[2:] # #构造新行的内容 # items = [SID_str + " " + subFlag + CF_flag_str, time, chn, trx, id + " " + str(list_index), SendType, RemoteFlag, ExternFlag, length, formatted_hex_str] # new 0722 items = [SID_str + " " + subFlag, time, chn, trx, id + " " + str(list_index), SendType, RemoteFlag, ExternFlag, length, formatted_hex_str, CF_flag, ""] print("CF_flag2:", CF_flag) # CF_flag = 1 if CF_flag == 0: print("yes") print("CF_flag3:", CF_flag) mainwindow.right_layout_object.table_view.setItemDelegateForColumn(11, ButtonDelegate()) # 调用模型添加行 mainwindow.right_layout_object.model.add_row(items) mainwindow.right_layout_object.table_view.scrollToBottom() 中怎么把变量CF_flag传入 class ButtonDelegate(QStyledItemDelegate): # 按钮按下信号 buttonClicked = Signal(int) # paint提供绘制功能 def paint(self, painter, option, index): cf_flag_index = index.siblingAtColumn(10) cf_flag = cf_flag_index.data(Qt.DisplayRole) # 判断cf_flag 为0时则绘制按钮 if cf_flag == 0: button_option = QStyleOptionButton() button_option.rect = option.rect.adjusted(4, 4, -4, -4) button_option.text = "解析" button_option.state = QStyle.StateFlag.State_Enabled QApplication.style().drawControl(QStyle.ControlElement.CE_PushButton, button_option, painter) else: super().paint(painter, option, index) def editorEvent(self, event, model, option, index): # 处理鼠标点击事件 if event.type() == QEvent.MouseButtonRelease: # 获取同一行第10列(索引9)的数据 cf_flag_index = index.siblingAtColumn(10) cf_flag = cf_flag_index.data(Qt.DisplayRole) # 判断cf_flag 为0时则允许触发按钮 if cf_flag == 0: # 计算按钮区域 button_rect = option.rect # button_rect.setWidth(self.button_width) # button_rect.setHeight(self.button_height) button_rect.moveCenter(option.rect.center()) # 如果点击在按钮区域内 if button_rect.contains(event.pos()): row_data = model._data[index.row()] self.open_analysis_window(row_data) # self.buttonClicked.emit(index.row()) return True # 表示已处理 return super().editorEvent(event, model, option, index) 中
最新发布
07-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值